curl PATCH - JSON отправляется как текстовые данные на основе строк

Использование curl для отправки PATCH на мой веб-сервис и получение ошибки:

Bad Request, The request sent by the client was syntactically incorrect. Apache Tomcat/8.0.37

при отправке GET и POST с помощью curl проблем нет. Использование Swagger для отправки одного и того же PATCH не вызывает проблем. Поэтому используйте WireShark для сравнения случая Swagger (хорошего) и случая curl (плохого).

Случай Swagger (хороший): Развязный (хороший) чехол

случай curl (плохой): curl (плохой) случай

В хорошем случае после "{" и "," вставляется 0xA. curl этого не делает и двойные кавычки отсутствуют.

Вот пользовательский интерфейс Swagger: Swagger UI (хорошо)

и это моя команда curl, работающая в командной строке Windows команда curl (плохая)

Приложение Chrome ARC также получает ответ OK: введите здесь описание изображения

Любое предложение приветствуется.


person brewphone    schedule 05.02.2017    source источник


Ответы (1)


Проблема была устранена следующим curl:

curl --request PATCH "http://......................" ^
    --header "Content-Type: application/json" ^
    --header "Accept: application/json" ^
    --header "Authorization: ..............." ^
    --data "{\"op\":\"add\",\"path\":\"/user\",\"value\":\"%~1\"}"  

Потому что он работает в Windows.

person brewphone    schedule 06.02.2017