2013-07-04 104 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