I think this might be a bug in Spring. I tried with the following mappings:
@RequestMapping(value="/paramtest", params={"paramA=true"})
@ResponseBody
public String function A() { return "A"; }
@RequestMapping(value="/paramtest", params={"paramA=true", "paramB=foobar"})
@ResponseBody
public String function B() { return "B"; }
@RequestMapping(value="/paramtest", params={"paramA=!true", "paramB=foo"})
@ResponseBody
public String function C() { return "C"; }
, , :
paramA=true A()
paramA=true, paramB=foobar B()
paramA=not_true, paramB=foo 404 , C(), .
Tomcat:
WARN org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver 142 - No matching handler method found for servlet request: path '/paramtest', method 'POST', parameters map['paramB' -> array<String>['foo'], 'paramA' -> array<String>['not_true']]
Spring 3.0.5. , myParam!=myValue Spring 3.0.4 (3.0.3 doc ). , , !myParam=myValue , 3.0.5.
, , :)