Is there a way to express that my Spring Web MVC controller method should be matched either by a request handing in a ID as part of the URI path ...
@Request
If you still want to stick to PathVariable approach and if you are getting 400 syntactically incorrect error then follow this approach-
@RequestMapping(method=RequestMethod.GET, value={"campaigns/{id}","campaigns"})
public String getCampaignDetails(Model model,
@PathVariable Map pathVariables)
{
System.out.println(pathVariables.get("id"));
}