Web API HttpPost可以返回ICollection

时间:2017-01-18 02:22:58

标签: json web-services asp.net-web-api http-post

编写Web服务的新手。我在WebAPI上使用C#/ ASP.Net。最终目标是接收JSON集合,并将数据反序列化到数据库,并通知客户端应用程序任何失败的记录,客户端将记录这些记录。

HTTPPost可以通过IHttpActionResult或HttpResponseMessage返回失败行的集合(作为序列化的Json),类似这样:

[HttpPost]
public HttpResponseMessage Post([FromBody]List<Things> t)
{
    // deserialize t and process to database

    // list of failed records
    ICollection<Thing> things= new List<Thing>();
    things.Add(...);
    things.Add(...);

    string jsonFailedRows = 
      JsonConvert.SerializeObject(things, Formatting.Indented);

    // Write the list to the response body
    HttpResponseMessage response =     
       Request.CreateResponse(HttpStatusCode.OK, jsonFailedRows);
    return response;
}

我看到了这个链接:StackOverFlow,其中说我可以执行以下操作,但这对于帖子是否正确?

&#34;如果你调用ApiController.Ok()方法,后者就完成了:

return Ok(jsonFailedRows);  

最后,有没有办法使用CreatedAtRoute这样做?

1 个答案:

答案 0 :(得分:0)

链接回复中发布的解决方案确实回答了这个问题。