私はSpring Boot(1.2.1)を、RESTful Webサービスの構築チュートリアルと同様の方法で使用しています。
@RestController
public class EventController {
@RequestMapping("/events/all")
EventList events() {
return proxyService.getAllEvents();
}
}
上記のように、Spring MVCはEventList
オブジェクトをJSONにシリアル化するために暗黙的にJacksonを使用します。
しかし、次のようなJSON形式にいくつかの簡単なカスタマイズを行いたいと思います。
setSerializationInclusion(JsonInclude.Include.NON_NULL)
問題は、暗黙のJSONマッパーをカスタマイズする最も簡単な方法は何ですか?
このブログ投稿でCustomObjectMapperを作成するなどの方法を試しましたが、ステップ3「Springコンテキストでのクラスの登録」は失敗します。
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: {}
これらの手順はSpring MVCの古いバージョン用であるようですが、最新のSpring Bootでこれを機能させる簡単な方法を探しています。