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