하나의 API에서 다른 API를 호출합니다.HttpClient PostAsync 게시 null 콘텐츠
여기 내 코드는 세계의 반대편에 ModelState.IsValid = false
이되는 것 같습니다. 이 API에 Post([FromBody]Product product)
을보고
var baseUri = new Uri("http://localhost:5001/"):
_httpClient.BaseAdress = baseUri;
var data = new StringContent(content: model.Tostring(),
encoding: Encoding.UTF8,
mediaType: "application/json");
var response = await _httpClient.PostAsync("api/product", data);
난 그냥
product=null
를 참조 호출되고.
Post([FromBody]object product)
으로 변경하면 null
도 표시됩니다.
Postman
에서 api를 호출하면 완벽하게 작동합니다. 내 문제는 PostAsync
에 국한됩니다. 내 PostAsync
은 무슨 일 이니?
편집 :
나는 사람들이 PostAsJsonAsync
제안 할 수 있습니다 알고 있지만, 나는 PostAsync
에 문제가 어떤 건지 후에 그것을 시도 할 것이다. :(당신이 model.ToString
라고 할 때 model
이 JSON으로 변환되는되지 않은 코멘트에 나타난 바와 같이. 당신은 결국 당신이 JsonConvert.SerializeObject(model)
와 JSON으로 모델을 직렬화하는 Json.Net를 사용할 수 있다고 생각
당신이'model.ToString()'적절한 JSON을 생산하고 있는지처럼 약간 보일 것
? 그렇더라도 최소한 ToJsonString과 같은 별도의 메소드를 사용하는 것이 좋을 것입니다. 심지어 직렬화 코드를 그 클래스 안에 전혀 넣지 않는 것이 좋습니다. –
[MCVE]가없는 경우에도 우리는별로 도움을 줄 수 없습니다. @EugenePodskal에 –
지점이 있습니다. 'model.ToString()'은 내가하고 있다고 생각하는 것을하지 못했습니다. 'content : JsonConvert.SerializeObject (model)'로 변경됩니다. 그게 갈 길이야? –