curl PATCH - JSON dikirim sebagai data teks berbasis baris

Menggunakan curl untuk mengirim PATCH ke layanan web saya dan mendapat kesalahan:

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

saat mengirim GET dan POST menggunakan curl tidak ada masalah. Menggunakan Swagger mengirimkan PATCH yang sama tidak memiliki masalah. Jadi gunakan WireShark untuk membandingkan kasus Swagger (baik) dan kasus curl (buruk).

Kasus angkuh (bagus): Kasus angkuh (bagus)

kasus curl (buruk): kasus keriting (buruk)

Dalam kasus yang baik, 0xA disisipkan setelah "{" dan ",". curl tidak melakukan ini dan tanda kutip ganda tidak ada.

Berikut adalah UI Swagger: Swagger UI (bagus)

dan ini adalah perintah curl saya yang berjalan di Command Prompt Windows perintah curl (buruk)

Aplikasi Chrome ARC juga mendapat respons OK: masukkan deskripsi gambar di sini

Setiap saran dihargai.


person brewphone    schedule 05.02.2017    source sumber


Jawaban (1)


Masalahnya diperbaiki dengan mengikuti curl:

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

Karena berjalan di Windows.

person brewphone    schedule 06.02.2017