2016-09-25 2 views
0

저는 RestAPI를 호출하고 json 형식으로 데이터를 전송합니다. RestSharp를 클라이언트로 사용.StatusCode : BadRequest - RestSharp를 사용하여 RestAPI를 호출 할 때

다음과 같은 기능을 가지고 있습니다. 그걸 들여다 봐주세요.

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

당신은 아마 너무 요청에 Content-Type -header를 추가해야합니다 :

request.AddHeader("Content-Type", "application/json; charset=utf-8"); 

은 또한 당신이 전송되고있는 실제 HTTP 요청을 살펴보고 Fiddler 같은 웹 디버깅 프록시를 사용할 수 있습니다 서비스에.

+0

고맙습니다. 콘텐츠 유형을 추가 한 후 동일한 결과가 나타납니다 –

+0

올바른 콘텐츠를 게시 하시겠습니까? 'order' 객체가 올바르게 직렬화되어 있습니까? – khlr