Nếu một yêu cầu được gửi đến API của tôi mà không có tiêu đề Chấp nhận, tôi muốn đặt JSON làm định dạng mặc định. Tôi có hai phương pháp trong điều khiển của tôi, một cho XML và một cho JSON:Làm cách nào để đặt loại nội dung mặc định trong Spring MVC trong tiêu đề Không chấp nhận được cung cấp?
@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.
}
Khi tôi gửi một yêu cầu mà không có một tiêu đề Chấp nhận các phương pháp getXmlData
được gọi, mà không phải là những gì tôi muốn. Có cách nào để báo cho Spring MVC gọi phương thức getJsonData
nếu không có tiêu đề Accept nào được cung cấp không?
EDIT:
Có một lĩnh vực defaultContentType
trong ContentNegotiationManagerFactoryBean
rằng hiện các trick.
Nếu bạn đã tìm thấy một giải pháp bằng cách sử dụng 'ContentNegotiationManagerFactoryBean' thêm giải pháp đó làm giải pháp. –