J'utilise Spring Boot (1.2.1), de la même manière que dans leur tutoriel sur la création d'un service Web RESTful :
@RestController
public class EventController {
@RequestMapping("/events/all")
EventList events() {
return proxyService.getAllEvents();
}
}
Donc ci-dessus, Spring MVC utilise implicitement Jackson pour sérialiser mon EventList
objet en JSON.
Mais je veux faire quelques personnalisations simples au format JSON, telles que:
setSerializationInclusion(JsonInclude.Include.NON_NULL)
La question est la suivante: quel est le moyen le plus simple de personnaliser le mappeur JSON implicite?
J'ai essayé l'approche dans ce billet de blog , en créant un CustomObjectMapper et ainsi de suite, mais l'étape 3, «Enregistrer les classes dans le contexte Spring», échoue:
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: {}
Il semble que ces instructions concernent les anciennes versions de Spring MVC, alors que je recherche un moyen simple de le faire fonctionner avec le dernier Spring Boot.