Ich verwende Spring Boot (1.2.1) auf ähnliche Weise wie im Tutorial zum Erstellen eines RESTful-Webdiensts :
@RestController
public class EventController {
@RequestMapping("/events/all")
EventList events() {
return proxyService.getAllEvents();
}
}
Daher verwendet Spring MVC Jackson implizit zum Serialisieren meines EventList
Objekts in JSON.
Ich möchte jedoch einige einfache Anpassungen am JSON-Format vornehmen, z.
setSerializationInclusion(JsonInclude.Include.NON_NULL)
Die Frage ist, wie der implizite JSON-Mapper am einfachsten angepasst werden kann.
Ich habe den Ansatz in diesem Blog-Beitrag ausprobiert, indem ich einen CustomObjectMapper usw. erstellt habe, aber Schritt 3, "Registrieren von Klassen im Spring-Kontext", schlägt fehl:
org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'jacksonFix': Injection of autowired dependencies failed;
nested exception is org.springframework.beans.factory.BeanCreationException:
Could not autowire method: public void com.acme.project.JacksonFix.setAnnotationMethodHandlerAdapter(org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter);
nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException:
No qualifying bean of type [org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter]
found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
Es sieht so aus, als ob diese Anweisungen für ältere Versionen von Spring MVC gelten, während ich nach einer einfachen Möglichkeit suche, dies mit dem neuesten Spring Boot zum Laufen zu bringen.