如果API接收到一个没有Accept头的请求,我希望将JSON设置为默认格式。我的控制器中有两种方法,一种是XML,另一种是JSON:
如果API接收到没有Accept头的请求,我想要将JSON作为默认格式。我的控制器中有两个方法,一个用于XML,另一个用于JSON:
编辑:在ContentNegotiationManagerFactoryBean中有一个defaultContentType字段可以解决这个问题。
如果API接收到没有Accept头的请求,我想要将JSON作为默认格式。我的控制器中有两个方法,一个用于XML,另一个用于JSON:
@RequestMapping(method = RequestMethod.GET,produces=MediaType.APPLICATION_ATOM_XML_VALUE)
@ResponseBody
public ResponseEntity<SearchResultResource> getXmlData(final HttpServletRequest request) {
//get data, set XML content type in header.
}
@RequestMapping(method = RequestMethod.GET, produces=MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<Feed> getJsonData(final HttpServletRequest request){
//get data, set JSON content type in header.
}
当我发送一个没有Accept header的请求时,会调用getXmlData方法,这不是我想要的。有没有办法告诉Spring MVC,在没有提供Accept header的情况下调用getJsonData方法?编辑:在ContentNegotiationManagerFactoryBean中有一个defaultContentType字段可以解决这个问题。
ContentNegotiationManagerFactoryBean
找到了解决方案,请将其添加为解决方案。 - Vijay Kukkala