通常,當我在正常的控制器中使用ASP.NET MVC時,我可以訪問返回Json()
或Content()
等方法。Apicontroller - 如何訪問方法,如Json()和內容()
這些方法對於何時返回動作結果很有用。但是,使用API控制器時,這些方法似乎不存在。我猜他們住在BaseController中,正常的控制器繼承自?
在使用Apicontroller時,您如何通過簡單的方式返回JSON/XML /類似的東西?
通常,當我在正常的控制器中使用ASP.NET MVC時,我可以訪問返回Json()
或Content()
等方法。Apicontroller - 如何訪問方法,如Json()和內容()
這些方法對於何時返回動作結果很有用。但是,使用API控制器時,這些方法似乎不存在。我猜他們住在BaseController中,正常的控制器繼承自?
在使用Apicontroller時,您如何通過簡單的方式返回JSON/XML /類似的東西?
使用web API你不指定發送給客戶端的表示。 Webapi支持內容協商,這意味着客戶端只需發送正確的accept頭就可以從服務器請求這些表示。
看到http://www.asp.net/web-api/overview/formats-and-model-binding/content-negotiation
ASP.Net的Web API默認返回的Json/XML的內容類型。
客戶端可以通過在api請求中設置所需的accept-header
(即(application/xml or application/JSON
))來控制他們想要獲得的內容類型。
例如,如果客戶端作出這樣的請求時,API將JSON格式
GET http://localhost:1234/api/products HTTP/1.1
Host: localhost.:1234
Accept: application/json
返回響應。如果像這樣頭客戶化妝請求,API將返回XML格式的響應
GET http://localhost:1234/api/products HTTP/1.1
Host: localhost.:1234
Accept: application/xml
content-type用於指定帖子的類型,accept頭用於優先發送給客戶端的特定類型 –
@LukeMcGregor編輯:) – ssilas777