从IHttpActionResult响应中获取对象c#

时间:2015-08-01 23:09:19

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

我正在使用Web API来执行某项任务,当任务完成时,API会在OK方法中返回一个对象。

代码:

[Route("upload")]
[HttpPost]
public async Task<IHttpActionResult> PostFormData()
{
    //Create the object
    var blob = new BlobUploadModel();

    //Do some tasks
    ...

    //Return
    return Ok(blob);
}

如何在响应中获取此blob对象,我认为应该是IHttpActionResult?

感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

Web API会将您的BlobUploadModel实例序列化为客户端请求Accept:标头中指定的MIME类型。然后,序列化的blob将附加到响应主体。

调用此操作的客户端需要将响应正文的内容反序列化回BlobUploadModel。 JSON.Net是一个很棒的库,用于JSON对象和CLR对象之间的序列化/反序列化。要使用JSON.Net将JSON响应反序列化回BlobUploadModel,您可以使用以下命令:

 var blob = JsonConvert.DeserializeObject<BlobUploadModel>(responseBody);

请记住,您的客户端项目需要知道BlobUploadModel是什么。