मैं जैक्सन प्रदाताओं के साथ RestEasy ग्राहक का उपयोग कर रहा हूँ और उपरोक्त त्रुटिसामग्री प्रकार आवेदन/json और प्रकार वर्ग java.lang.String
clientside कोड प्राप्त करने का एक MessageBodyReader खोजने में असमर्थ है:
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()
त्रुटि जा रहा है
Unable to find a MessageBodyReader of content-type application/json and type class java.lang.String
मेरे सर्वर साइड कोड के नीचे है साथ ClientResponseFailure
अपवाद फेंक है:
@GET
@Path("/{itemId}")
@Produces(MediaType.APPLICATION_JSON)
public String item(@PathParam("itemId") String itemId) {
//custom code
return gson.toJSON(object);
}
मुझे इसे ResteasyJacksonProvider को स्पष्ट रूप से पंजीकृत करके काम करने के लिए मिला। RestEasy इसे स्वयं ही करना था, लेकिन मुझे नहीं पता कि यह प्रदाताओं को पंजीकृत क्यों नहीं कर रहा है। मैं बसंत के साथ Resteasy का उपयोग कर रहा हूँ। ResteasyProviderFactory उदाहरण = ResteasyProviderFactory.getInstance(); रजिस्टर Builtin.register (उदाहरण); instance.registerProvider (ResteasyJacksonProvider.class); – user1632803