Возвращаемое значение является недействительным, поскольку ClientResponse устарел, поскольку RestEasy представил JAX-RS 2.0 в версии 3+.
Чтобы вернуть местоположение нового созданного объекта, я ввожу ответ, используя метод @Context и добавьте заголовок Content-Location.
Например:
Shared Интерфейс:
Код: Выделить всё
@Path("/")
@Consumes("application/xml")
@Produces("application/xml")
interface Resource {
@Path("createSomething")
void createSomething(AnyObject object);
...
}
Код: Выделить всё
class ResourceImpl {
...
@Context org.jboss.resteasy.spi.HttpResponse response;
...
@Override
void createSomething(AnyObject object) throws AnyException {
String id = service.create(object);
response.getOutputHeaders().putSingle("Content-Location",
"/createSomething/" + id);
response.setStatus(Response.Status.CREATED.getStatusCode());
}
}
Код: Выделить всё
...
ResteasyClient client = new ResteasyClientBuilder().build();
ResteasyWebTarget target = client.target(baseUrl);
Resource resource = (Resource) target.proxy(Resource.class);
resource.createSomething(anyObject);
...
Разумно ли использовать фильтры и перехватчики на стороне клиента?
Спасибо
Подробнее здесь: https://stackoverflow.com/questions/301 ... asy-client
Мобильная версия