I guess that 404 is not related to your HttpMessageConverter. I had same 404-issue and the reason was that I forgot that only requests matching are sent to DispatcherServlet (I changed request mapping from *.do to *.json). Maybe this is your case also.