我正在调用RestAPI并以json格式发送数据。使用RestSharp作为客户端。
有以下功能。请仔细看看。
public HttpStatusCode CreatOrder(OrderRequest order,string token)
{
var client = new RestClient("this is url of api");
request.AddHeader("Authorization", token);
var json = JsonConvert.SerializeObject(order); //using Json.Net
request.AddJsonBody(order);
request.Method = Method.POST;
request.AddHeader("Content-Type", "application/json; charset=utf-8");
var response = client.Execute(request);
return response.StatusCode;
}
我可以在调试过程中看到关注json。
"{\"waypoints\":[{\"exactLatLng\":[{\"lat\":123.0,\"lng\":234.0}],\"premise\":null,\"houseNumber\":null,\"street\":null,\"subLocality\":null,\"locality\":null,\"city\":null,\"district\":null,\"province\":null,\"country\":null,\"postalCode\":null,\"countryCode\":null,\"poiName\":null,\"placeLatLng\":[{\"lat\":123.0,\"lng\":234.0}]}],\"extraOptions\":null,\"client\":{\"clientId\":null,\"name\":\"NumanTest\",\"phone\":\"1213123\",\"imageUrl\":null},\"name\":\"NumanTest\",\"notes\":null,\"unitOfLength\":[],\"tripDistance\":null,\"tripDuration\":null,\"pickupTime\":null,\"numberOfSeats\":null,\"vehicleType\":[],\"tariffType\":[],\"paymentMethods\":[],\"prepaid\":null,\"tariffId\":null}"
但我总是得到错误的回应请求。
"StatusCode: BadRequest, Content-Type: application/json; charset=utf-8, Content-Length: 2325)"
你能帮我摆脱这个问题。
非常感谢。
答案 0 :(得分:0)
您可能还必须在请求中添加Content-Type
- 标头:
request.AddHeader("Content-Type", "application/json; charset=utf-8");
此外,您可以使用Fiddler等网络调试代理来查看发送给服务的实际http请求。