Tên tham số thường không thể truy cập được bằng mã Java trong thời gian chạy (vì nó bị trình biên dịch bỏ qua), vì vậy nếu bạn muốn có chức năng đó, bạn cần sử dụng chức năng tích hợp của Java 8 hoặc sử dụng thư viện như ParaNamer để có quyền truy cập với nó.
Vì vậy, để không phải sử dụng chú thích cho các đối số của hàm tạo khi sử dụng Jackson, bạn có thể sử dụng một trong 2 mô-đun Jackson sau:
jackson-module-tham số-tên
Mô-đun này cho phép bạn nhận đối số phương thức khởi tạo không có chú thích khi sử dụng Java 8 . Để sử dụng nó, trước tiên bạn cần đăng ký mô-đun:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new ParameterNamesModule());
Sau đó, biên dịch mã của bạn bằng cờ -parameters:
javac -parameters ...
Liên kết: https://github.com/FasterXML/jackson-modules-java8/tree/master/parameter-names
jackson-module-paranamer
Cái khác này chỉ yêu cầu bạn đăng ký mô-đun hoặc định cấu hình phần nội quan chú thích (nhưng không phải cả hai như được chỉ ra bởi các nhận xét). Nó cho phép bạn sử dụng đối số phương thức khởi tạo không có chú thích trên các phiên bản Java trước 1.8 .
ObjectMapper mapper = new ObjectMapper();
// either via module
mapper.registerModule(new ParanamerModule());
// or by directly assigning annotation introspector (but not both!)
mapper.setAnnotationIntrospector(new ParanamerOnJacksonAnnotationIntrospector());
Liên kết: https://github.com/FasterXML/jackson-modules-base/tree/master/paranamer