Web API를 사용하여 작업하려는 사용자 지정 복합 유형이 있습니다.
public class Widget
{
public int ID { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
}
그리고 여기 내 웹 API 컨트롤러 방법이 있습니다. 이 개체를 다음과 같이 게시하고 싶습니다.
public class TestController : ApiController
{
// POST /api/test
public HttpResponseMessage<Widget> Post(Widget widget)
{
widget.ID = 1; // hardcoded for now. TODO: Save to db and return newly created ID
var response = new HttpResponseMessage<Widget>(widget, HttpStatusCode.Created);
response.Headers.Location = new Uri(Request.RequestUri, "/api/test/" + widget.ID.ToString());
return response;
}
}
이제 System.Net.HttpClient
메서드를 호출하는 데 사용하고 싶습니다 . 그러나 PostAsync
메서드 에 전달할 개체 유형 과 구성 방법을 잘 모르겠습니다 . 다음은 샘플 클라이언트 코드입니다.
var client = new HttpClient();
HttpContent content = new StringContent("???"); // how do I construct the Widget to post?
client.PostAsync("http://localhost:44268/api/test", content).ContinueWith(
(postTask) =>
{
postTask.Result.EnsureSuccessStatusCode();
});
HttpContent
웹 API가 이해하는 방식으로 객체를 생성하려면 어떻게해야 합니까?