Trình khách/trình duyệt thực hiện yêu cầu JSON tới tài nguyên còn lại của tôi (loại nội dung của yêu cầu là application/json
và phương thức REST tương ứng là @Consumes("application/json")
được chú thích).Lấy tham số JSON đơn giản từ một yêu cầu JSON trong JAX-RS
@Path("/process-something")
@POST
@Produces("application/json")
@Consumes("application/json")
@HandleDefaultExceptions
public AResponse processSomething(List<Long>) {
}
Nội dung JSON bao gồm một số loại đơn giản, như List<Long>
hoặc String
.
Có khả năng đơn giản để nhận các thông số JSON được chèn vào chỉ bằng cách chú thích nó bằng cách nào đó, tương tự như @FormParam
trong trường hợp yêu cầu application/x-www-form-urlencoded
không? Tôi muốn một số giải pháp dễ dàng hơn giải mã chuỗi JSON với số ObjectMapper
hoặc số JSONObject
của Jettison.
bạn đang sử dụng khung công tác nào để triển khai jaxrs?, Có nhiều khung công cụ hỗ trợ JSON mặc dù chỉ chú thích là không đủ, bạn sẽ phải lập bản đồ các nhà cung cấp phù hợp nhưng đó không phải là vấn đề lớn. Tham khảo Jersey, Apache CXF – Sikorski
Jersey là những gì tôi sử dụng. Tôi hy vọng bằng cách lập bản đồ bạn không có nghĩa là tạo ObjectMapper hoặc một số đối tượng khác (xem phần cuối của câu hỏi) ... –
không có nghĩa là bạn sẽ phải cung cấp một mục nhập trong web.xml hoặc một số tệp cấu hình khác mà sẽ nói với jersey để sử dụng hỗ trợ json. xem này: https://jersey.java.net/documentation/latest/media.html#json - Và đây là những giải pháp dễ dàng hơn! – Sikorski