Как отправить запрос DELETE с телом в Apache CXF JAX-RS с веб-клиентом?

Я хочу позвонить webclient.delete(deleteBody) похож на POST.

WebClient client = WebClient.create(getUrl());
client = client.type("application/json").accept("application/json");
HTTPConduit conduit = WebClient.getConfig(client).getHttpConduit();
conduit.getClient().setReceiveTimeout(getApiTimeout());
Response resp = client.post(postData);

но нет метода, который принимает deleteBody.

Я даже пользуюсь webclient.invoke("DELETE", deletBody) но это выдает 500 HTTP ошибку.

Вот мое тело удаления:

{"password":"1ad1ad","username":11111111}

Но я попробовал с curl Команда для УДАЛИТЬ свою работу:

curl -q -H "Accept: application/json" -H "Content-type: application/json" -X DELETE -d @del.json http://d.eze.cc/api/pd/xxxxx/DEL001234/

1 ответ

Вы правы в том, что CXF WebClient не поддерживает отправку тела в DELETE запрос.

  1. Это нормально, так как нет смысла отправлять тело с DELETE запрос. Смотрите этот вопрос: Разрешено ли тело сущности для HTTP-запроса DELETE?
  2. Для 500 ошибку, которую вы получаете, пожалуйста, загляните в журнал сервера. Как реализуется REST на стороне сервера?
Другие вопросы по тегам