2013-07-04 66 views

回答

0

这一切都取决于你的要求。

当您返回HttpResponseMessage

,它可以让你选择用自定义消息返回HttpStatusCode。

比方说,在你的应用程序,您要保存通过Web API的东西(比方说一个新客户)。你可以很容易地返回带有消息的对象,你根本不用担心返回类型(json或者xml)。这也将是你第三点的答案。这是在web api中将业务对象发送到前端的更好方法。

的回答为第三点,请看看这个博客帖子获取更多信息。 http://blogs.msdn.com/b/yaohuang1/archive/2012/10/13/asp-net-web-api-help-page-part-2-providing-custom-samples-on-the-help-page.aspx

在Web API作用,其返回HttpResponseMessage

,返回的代码将是这个样子。

return Request.CreateResponse<Customer>(HttpStatusCode.Created, newlyCreatedCustomer); 

第二篇文章没有提到关于web api的任何内容。它显示了一种方法来返回json数据,如果您想要在Controller Action中执行它。

+0

只见观点认为返回HttpResponseMessage不允许良好的测试...这我同意,因此方法可以返回HttpResponseMessage内相当多的东西.....你觉得呢? –

+0

是的,为返回HttpResponseMessage的动作编写测试有点棘手,因为它期望很多配置。请看看这篇博客文章,它会发出一些亮光http://www.peterprovost.org/blog/2012/06/16/unit-testing-asp-dot-net-web-api/ – Amila