HTTP ERROR 406
Problem accessing /xxx/4. Reason: Not Acceptable
Powered by Jetty://
I have tested it with Jackson 2.3.1, 2.2.3 and 2.1.3 - same. Spring 3.1.1 and 3.1.0 - same. Application server jetty and tomcat - same, but in Tomcat dies with no error/log text.
So my conclusion is:
Jackson sucks!
And this is not for its error (there are no errors in controller method, it passes fine), but in dieing with no single line of message.I will revert to jackson 1, where this error is not absolute blocker to me (i get it only on one page in version 1).
P.S. No answer on stackoverflow uptill 2014.2 helped me :(
Edit: the solution.
Holly *hit, I finally overcome the issue in very simple way!
Clean, not working way:
@RequestMapping(value="/t")
@ResponseBody
public Dummy getT() {
Dummy t = new Dummy();
t.setId(1L);
t.setUrl("sdfsaf");
System.out.println( "hello from t" );
return t;
}
Workaround:
@RequestMapping(value = "/manualDummy", method = RequestMethod.GET)
@ResponseBody
public String manualDummy(/*HttpServletRequest request, ModelMap model*/) throws JsonProcessingException {
ObjectMapper mapper = new ObjectMapper(); // com.fasterxml.jackson.databind.ObjectMapper
Dummy t = new Dummy();
t.setId(1L);
t.setUrl("sdfsaf");
return mapper.writeValueAsString(t);
}
P.S. Jackson continues to sucks...
No comments:
Post a Comment