javax.ws.rs.RedirectionException: HTTP 302 Найдено после выполнения запроса POST в JavaEE - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь выполнить запрос POST, используя следующий код:

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.client.Entity;
...
Client client=ClientBuilder.newClient();
WebTarget webTarget=client.target("http://localhost:8080/blablabla");
try {
    MyResponse rp=webTarget.request(MediaType.APPLICATION_JSON).post(Entity.json(rq), MyResponse.class);
} catch (RedirectionException e) {
    System.out.println(e.getMessage());
}
client.close();

Тот же запрос работает с RESTer, поэтому адрес http://localhost:8080/blablabla правильный.Но когда я запускаю код, я получаю: javax.ws.rs.RedirectionException: HTTP 302 Found

1 Ответ

0 голосов
/ 01 декабря 2018

RedirectionException предоставляет метод getLocation(), который вы можете использовать для получения URI перенаправления и выполнения нового запроса.

Если вы используете реализацию Джерси, вы можете добавить следующее свойство в свой WebTarget, для автоматического выполнения этой задачи:

webTarget.property(ClientProperties.FOLLOW_REDIRECTS, Boolean.TRUE);

Кажется, что эта функция зависит от реализации, поэтому вы не можете сделать это с помощью чистого JAX-RS API.

...