Glassfish4 đang sử dụng Moxy để tuần tự hóa các phản hồi REST thành JSON. Có ai biết làm thế nào để cấu hình ứng dụng để sử dụng Jackson thay vì Moxy?Lực lượng Glassfish4 sử dụng Jackson thay vì Moxy
7
A
Trả lời
9
Bạn cần đăng ký JacksonFeature trong đơn đăng ký nếu bạn muốn sử dụng Jackson làm nhà cung cấp JSON của mình (bằng cách đăng ký tính năng này, bạn vô hiệu hóa MOXy làm nhà cung cấp JSON).
Bạn có thể làm điều đó hoặc trong Application
lớp con:
public class MyApplication extends Application {
public Set<Class<?>> getClasses() {
final Set<Class<?>> classes = new HashSet<Class<?>>();
// Add root resources.
classes.add(HelloWorldResource.class);
// Add JacksonFeature.
classes.add(JacksonFeature.class);
return classes;
}
}
hoặc trong ResourceConfig
:
final Application application = new ResourceConfig()
.packages("org.glassfish.jersey.examples.jackson")
.register(MyObjectMapperProvider.class) // No need to register this provider if no special configuration is required.
// Register JacksonFeature.
.register(JacksonFeature.class);
Xem Jackson phần trong Jersey Hướng dẫn người sử dụng để biết thêm thông tin.
0
trả lời bởi Michal Gajdos là đúng, chỉ cần để thêm vào đó, thêm sự phụ thuộc này trong pom.xml của bạn,
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.26</version>
</dependency>
Đừng có đủ tín dụng để bình luận.
Các vấn đề liên quan
- 1. Lực lượng .NET interop sử dụng COM DLL cục bộ
- 2. Lực lượng Maven sạch
- 3. Lực lượng đã thay đổi kết thúc dòng
- 4. Làm thế nào để lực lượng Java 7 để tạo "thư mục symlinks" trên Windows thay vì "tập tin symlinks"?
- 5. Mô hình/Chính sách Bản đồ Tùy chỉnh Lực lượng Dữ liệu Chính Thay vì Di chuyển Nhẹ
- 6. EclipseLink MOXY JSON serialization
- 7. Sử dụng .DefaultIfEmpty() thay vì .FirstOrDefault() ?? String.Empty;
- 8. sử dụng ExecuteReader thay vì ExecuteNonQuery
- 9. Sử dụng bên ngoài thay vì expand.grid
- 10. Sử dụng/dev/tcp thay vì wget
- 11. Sử dụng cassandra thay vì memcache?
- 12. Sử dụng loại tĩnh thay vì biến
- 13. Sử dụng FitNesse thay vì NUnit
- 14. Lỗi Apache Lực lượng PHP
- 15. Cập nhật ràng buộc lực lượng Silverlight
- 16. Tại sao sử dụng singleton thay vì lớp tĩnh?
- 17. kiểm tra lực lượng đồng đội
- 18. Deserialize ArrayList từ String sử dụng Jackson
- 19. Những gì để sử dụng thay vì org.jboss.resteasy.client.ClientRequest?
- 20. Việc sử dụng Jackson & Jettison trong Jersey
- 21. Lực lượng bao gồm trong php.ini?
- 22. deserialize lazylist bằng cách sử dụng jackson
- 23. Khóa chi nhánh trong lực lượng?
- 24. Twitter Bootstrap Lựa chọn lực lượng Typeahead
- 25. Lợi ích của việc sử dụng epoll_create1() thay vì epoll_create()
- 26. Tại sao sử dụng tăng :: ice_or thay vì || và tăng :: ice_and thay vì && trong enable_if?
- 27. Android khóa lực lượng khóa gần
- 28. Lực lượng .NET webservice sử dụng lớp đối tượng cục bộ, không phải lớp proxy
- 29. OAuth2Decorator oauth_aware lực lượng xác thực
- 30. Lực lượng tệp Ruby sao chép
Tôi có thể tìm thấy vị trí lớp Jackson ở đâu? – Dejell
'JacksonFeature' nằm trong' org.glassfish.jersey.media: jersey-media-json-jakson'. Mô-đun này mang đến cho Jackson 1.9.x với nó. Nếu bạn muốn sử dụng Jackson 2.x, chỉ cần thêm phụ thuộc vào 'com.fasterxml.jackson.jaxrs: jackson-jaxrs-json-provider' và nó sẽ được tự động kích hoạt nhờ cơ chế' META-INF/services'. –
Xem [câu trả lời này] (http://stackoverflow.com/questions/23730062/use-iso-8601-dates-in-jax-rs-responses) để biết hướng dẫn đầy đủ để đạt được điều này trên GlassFish 4 với bản dựng Maven. –