Unable to read application / json message in Response response

I am testing a REST API, and when I make a GET call to retrieve the resources, it leads to a 500 Internal Server Error and prints a return message with media type to it application/json:

[
  {
    "messageType": "Some error type",
    "messageText": "Some message text",
    "moreInfo": "Some info"
  }
]

Note that in the output above, Json is inside []

I want to read the value messageTextfrom the output above received. I tried -

JsonObject jsonObject = response.readEntity(JsonObject.class);

but this leads to the following error:

java.lang.IllegalStateException: Entity input stream has already been closed.
    at org.glassfish.jersey.message.internal.EntityInputStream.ensureNotClosed(EntityInputStream.java:225)
    at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:830)
    at org.glassfish.jersey.message.internal.InboundMessageContext.readEntity(InboundMessageContext.java:783)
    at org.glassfish.jersey.client.ClientResponse.readEntity(ClientResponse.java:326)
    at org.glassfish.jersey.client.InboundJaxrsResponse$1.call(InboundJaxrsResponse.java:111)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:399)
    at org.glassfish.jersey.client.InboundJaxrsResponse.readEntity(InboundJaxrsResponse.java:108)

Could you help me, how can I read the output message? I am using the Jersy library.

+4
source share
2 answers

, XML, .

javaDoc, readEntity , , readEntity, IllegalStateException.

, , .

, response.readEntity(String.class) "" "" , "". .

+9

500, , , /. , . , ?

0

Source: https://habr.com/ru/post/1609303/


All Articles