我正在使用RestSharp对外部API进行POST调用。
我通过以下方式添加有效负载:
request.AddParameter({field_name},{field_value})
API接受{“ name”:“ value”}(正确的json格式)但不接受{name:“ value”}
如果尝试使用不正确的json对象进行呼叫,则会引发类似于以下的错误:
“ {\”类型\“:\”https://tools.ietf.org/html/rfc7231#section-6.5.1\“,\”标题\“:\”发生一个或多个验证错误。\“,\”状态\“:400,\” traceId \“: \“ | 87c7263f-4ff49301d1865eed。\”,\“错误\”:{\“ $ \”:[\“'n'是一个无效的值开头。路径:$ |行号:0 | BytePositionInLine:0。\“]}}”
这可能是由于以下issue
尝试通过POST呼叫时,我收到了相同的错误消息request.AddParameter({field_name},{field_value})
我是否可以使用RestSharp发出请求,该请求允许使用类似以下格式{“ name”:“ value”}吗?
在POST或PUT请求上,这取决于您是否将文件附加到请求。否则,将以name1 = value1&name2 = value2的形式将参数作为请求的正文发送。同样,该请求将作为application / x-www-form-urlencoded发送。
执行此操作的正确方法是:
var myJson = new { /*<field_name> = <field_value>, <field2> = <value2> ... etc*/ }
request.AddJsonBody(myJson);