Tôi đang sử dụng Spring Boot (1.2.1), theo cách tương tự như trong hướng dẫn Xây dựng Dịch vụ Web RESTful của họ :
@RestController
public class EventController {
@RequestMapping("/events/all")
EventList events() {
return proxyService.getAllEvents();
}
}
Vì vậy, ở trên, Spring MVC ngầm sử dụng Jackson để tuần tự EventList
đối tượng của tôi thành JSON.
Nhưng tôi muốn thực hiện một số tùy chỉnh đơn giản đối với định dạng JSON, chẳng hạn như:
setSerializationInclusion(JsonInclude.Include.NON_NULL)
Câu hỏi là, cách đơn giản nhất để tùy chỉnh trình ánh xạ JSON ngầm định là gì?
Tôi đã thử cách tiếp cận trong bài đăng blog này , tạo CustomObjectMapper, v.v., nhưng bước 3, "Đăng ký lớp trong bối cảnh Spring", không thành công:
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: {}
Có vẻ như những hướng dẫn đó dành cho các phiên bản cũ hơn của Spring MVC, trong khi tôi đang tìm một cách đơn giản để làm cho điều này hoạt động với Spring Boot mới nhất.