It seems that spring requestmapping is ignoring media type parameters. You can get around this by manually sending a request to your preferred endpoint.
@RequestMapping(value = "/", headers = "Accept=application/json") @ResponseBody String request(@RequestHeader HttpHeaders headers){ for(MediaType mediaType : headers.getAccept()){ if(mediaType.isCompatibleWith(MediaType.APPLICATION_JSON)){ if(mediaType.getParameter("version").startsWith("1.")){ return v1(); }else if(mediaType.getParameter("version").startsWith("2.")){ return v2(); } } } return "error"; }
Magnus
source share