@Override public void configureContentNegotiation(final ContentNegotiationConfigurer configurer) { super.configureContentNegotiation(configurer); configurer.favorPathExtension(true); configurer.ignoreAcceptHeader(false).defaultContentType(MediaType.TEXT_HTML); Map<String, MediaType> mediaTypes = new HashMap<String, MediaType>(); mediaTypes.put("html", MediaType.TEXT_HTML); mediaTypes.put("xml", MediaType.TEXT_XML); mediaTypes.put("json", new MediaType("application", "json", Charset.forName("UTF-8"))); mediaTypes.put("atom", MediaType.APPLICATION_ATOM_XML); mediaTypes.put("js", new MediaType("text", "javascript")); configurer.mediaTypes(mediaTypes); }