Wenn eine Anfrage ohne Accept-Header an meine API gesendet wird, möchte ich JSON zum Standardformat machen. Ich habe zwei Methoden in meinem Controller, eine für XML und eine für JSON:Wie wird der Standard-Inhaltstyp in Spring MVC in no Accept-Header festgelegt?
@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.
}
Wenn ich eine Anfrage ohne Accept-Header senden die getXmlData
Methode aufgerufen wird, das ist nicht das, was ich will. Gibt es eine Möglichkeit, Spring MVC mitzuteilen, die Methode getJsonData
aufzurufen, wenn kein Accept-Header bereitgestellt wurde?
EDIT:
Es gibt ein defaultContentType
Feld in der ContentNegotiationManagerFactoryBean
dass der Trick funktioniert.
Wenn Sie habe eine Lösung gefunden mit 'ContentNegotiationManagerFactoryBean' füge es als Lösung hinzu. –