curl PATCH - JSON作为基于行的文本数据发送

时间:2017-02-05 06:24:55

标签: json curl swagger patch

使用curl将PATCH发送到我的Web服务并收到错误:

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

使用curl发送GET和POST时没有问题。 使用Swagger发送相同的PATCH没有问题。因此,使用WireShark来比较Swagger(好)案例和curl(坏)案例。

Swagger(好)案例: Swagger (good) case

卷曲(坏)案例: curl (bad) case

在好的情况下,在“{”和“,”之后插入0xA。 curl不会这样做,双引号丢失。

这是Swagger UI: Swagger UI (good)

这是我在Windows命令提示符下运行的curl命令 curl command (bad)

Chrome应用ARC也可以获得OK响应: enter image description here

任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:3)

问题是通过以下卷曲来解决的:

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

因为它在Windows上运行。