Tôi đang sử dụng RestEasy khách hàng với nhà cung cấp jackson và nhận được báo lỗi trênKhông thể tìm thấy một MessageBodyReader của content-type application/json và kiểu lớp java.lang.String
đang clientside là:
ClientRequest request = new ClientRequest(url);
request.accept(MediaType.APPLICATION_JSON);
ClientResponse<String> response = request.get(String.class);
if (response.getStatus() != 200) {
throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());
}
BufferedReader br =
new BufferedReader(new InputStreamReader(new ByteArrayInputStream(response.getEntity().getBytes())));
response.getEntity()
được ném ClientResponseFailure
ngoại lệ với sai số là
Unable to find a MessageBodyReader of content-type application/json and type class java.lang.String
mã phía máy chủ của tôi là dưới đây:
@GET
@Path("/{itemId}")
@Produces(MediaType.APPLICATION_JSON)
public String item(@PathParam("itemId") String itemId) {
//custom code
return gson.toJSON(object);
}
Tôi đã làm cho nó hoạt động bằng cách đăng ký ResteasyJacksonProvider một cách rõ ràng. RestEasy đã được yêu cầu làm điều này một mình, nhưng tôi không biết tại sao nó không phải là đăng ký các nhà cung cấp. Tôi đang sử dụng Resteasy với mùa xuân. ResteasyProviderFactory instance = ResteasyProviderFactory.getInstance(); RegisterBuiltin.register (ví dụ); instance.registerProvider (ResteasyJacksonProvider.class); – user1632803