Сообщение пустого тела с клиентом Джерси 2
Как отправить запрос на отправку с пустым телом с клиентом Jersey 2?
final MyClass result = ClientBuilder.newClient()
.target("http://localhost:8080")
.path("path")
.queryParam("key", "value")
.request(APPLICATION_JSON)
.post(What to fill in here if the body should be left empty??, MyClass.class);
Обновление::
final MyClass result = ClientBuilder
.newBuilder().register(JacksonFeature).build()
.target("http://localhost:8080")
.path("path")
.queryParam("key", "value")
.request(APPLICATION_JSON)
.post(null, MyClass.class);
Ответы
Ответ 1
Я не могу найти это в документе в любом месте, но я считаю, что вы можете использовать null
для получения пустого тела:
final MyClass result = ClientBuilder.newClient()
.target("http://localhost:8080")
.path("path")
.queryParam("key", "value")
.request(APPLICATION_JSON)
.post(Entity.json(null), MyClass.class)
Ответ 2
Я не знаю, изменилась ли версия. Но следующее не работает:
builder.put( Entity.json( null ) );
Где работает следующее:
builder.put( Entity.json( "" ) );
Ответ 3
Я обнаружил, что это сработало для меня:
Response r = client
.target(url)
.path(path)
.queryParam(name, value)
.request()
.put(Entity.json(""));
Передайте пустую строку, а не нулевое значение.
Ответ 4
Просто отправьте пустой txt.
.post(Entity.text(""));