Как получить статус ответа HTTP-Джерси, прежде чем анализировать DTO?

1

мой код:

ClientResponse clientResponse = webResource.path("routingRequest")
                    .queryParam("at", rr.at)
                    .get(ClientResponse.class);

Я добавил:

RoutingResponse routingResponse = webResource.path("routingRequest")
                    .queryParam("at", rr.at)
                    .get(ClientResponse.class)
                    .getEntity(RoutingResponse.class);

Как я могу получить код результата http, теперь, когда я даже не получаю ClientResponse.class

Как вы получите этот статус?

  • 0
    1) Ваш первый фрагмент кода не будет компилироваться. get(ClientResponse.class) вернет ClientResponse . 2) Получить как код статуса и RoutingResponse от ClientResponse . clientResponse.getEntity(RoutingResponse.class)
Теги:
rest
http
jersey
jersey-client

1 ответ

2
Лучший ответ

Нет причин, по которым вы не можете прочитать реакцию клиента и тело субъекта на одном дыхании.

    ClientConfig cc = new DefaultClientConfig();
    cc.getProperties().put(
            ClientConfig.PROPERTY_FOLLOW_REDIRECTS, true);
    Client c = Client.create(cc);
    WebResource r = c.resource("https://my_url");
    ClientResponse response = r.get(ClientResponse.class);
    EntityTag e = response.getEntityTag();
    String entity = response.getEntity(String.class);
    System.out.println("The response status is " + response.getStatus());
    System.out.println("The enttiy body is " + entity);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню