আমি স্প্রিং বুট (১.২.১) ব্যবহার করছি, তাদের বিল্ডিংয়ের মতো একটি রেস্টস্টুল ওয়েব সার্ভিস টিউটোরিয়াল:
@RestController
public class EventController {
@RequestMapping("/events/all")
EventList events() {
return proxyService.getAllEvents();
}
}
সুতরাং উপরের দিকে, স্প্রিং এমভিসি জ্যাকসনকে স্পষ্টভাবে জেসসনকে আমার EventList
বস্তুটি জেএসএন-তে সিরিয়ালের জন্য ব্যবহার করে ।
তবে আমি JSON ফর্ম্যাটে কিছু সাধারণ কাস্টমাইজেশন করতে চাই, যেমন:
setSerializationInclusion(JsonInclude.Include.NON_NULL)
প্রশ্নটি হল, অন্তর্নিহিত জেএসওএন ম্যাপারকে কাস্টমাইজ করার সহজ উপায় কী?
আমি এই ব্লগ পোস্টে পদ্ধতির চেষ্টা করে একটি কাস্টমবজেক্টম্যাপার তৈরি করেছিলাম এবং আরও অনেক কিছু তৈরি করেছিলাম, তবে ধাপ 3, "বসন্তের প্রসঙ্গে ক্লাসগুলি নিবন্ধ করুন" ব্যর্থ হয়েছে:
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: {}
দেখে মনে হচ্ছে যে এই নির্দেশাবলী স্প্রিং এমভিসির পুরানো সংস্করণগুলির জন্য, যখন আমি সাম্প্রতিক স্প্রিং বুটের সাহায্যে এটি কাজ করার সহজ উপায় খুঁজছি।