2017-02-05 1 views
0

Mit curl einen Patch auf meiner Web-Service und erhielt Fehler senden:curl PATCH - JSON als zeilenbasierte Textdaten gesendet

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

während GET und POST senden mit curl kein Problem haben. Verwenden Swagger Senden der gleichen PATCH hat kein Problem. Also mit WireShark, um den Fall Swagger (gut) und Curl (schlecht) zu vergleichen.

Swagger (gut) Fall: Swagger (good) case

curl (bad) Fall: curl (bad) case

Im guten Fall wird ein 0xA eingefügt nach "{" und "". curl macht das nicht und doppelte Anführungszeichen fehlen. Hier

ist die Prahlerei UI: Swagger UI (good)

und dies ist mein curl Befehl läuft auf Windows-Eingabeaufforderung curl command (bad)

Chrome App ARC wird auch OK-Antwort: enter image description here

Jeder Vorschlag ist geschätzt.

Antwort

0

Das Problem wurde durch folgende curl behoben:

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

Weil es auf Windows läuft.