C#通过HttpClient将对象发送到Web API

时间:2013-03-21 10:44:32

标签: c# asp.net asp.net-web-api dotnet-httpclient

我有一个WindowsForm应用程序,我想发送一个List<>到Web API

这是我在Windows窗体应用程序中的代码:

        Uri uri = new Uri("http://localhost/test/api/v1/name/testcontroller/");

        HttpClient client = new HttpClient();

        client.BaseAddress = uri;

        var mediaType = new MediaTypeHeaderValue("application/json");
        var jsonFormatter = new JsonMediaTypeFormatter();

        HttpContent content = new ObjectContent<List<TermbaseFile>>(termbaseList, jsonFormatter);
        HttpResponseMessage responseMessage = client.PostAsync(uri, content).Result;

我应该在控制器方法中放入什么来获取列表?

1 个答案:

答案 0 :(得分:1)

您需要实现一个Post操作,该操作需要该特定对象类型的列表,或者更具体地说,是一个具有相同属性的对象,例如。

public class TermbaseFilePostDto
{
    // relevant properties go here
}


public class TestController : ApiController
{
     public HttpResponseMessage Post(List<TermbaseFileDto> list)
     {
         ...
     }
}