[英]asp.net web api user selected content type
Asp.net的默認返回類型是XML。 但是我可以在配置設置中更改它。
public static void Register(HttpConfiguration config)
{
config.Formatters.Clear();
// config.Formatters.Add(new XmlMediaTypeFormatter());
config.Formatters.Add(new JsonMediaTypeFormatter());
}
我的控制器是:
public class ProductController: ApiController
{
public IEnumerable<Product> Get()
{
return new List<Product> {
new Product {Name = "p1", Price = 10},
new Product {Name = "p2", Price = 20}
};
}
}
現在我要這樣:
http://domain/product/get
(格式xml或json) 我不想更改控制器動作。
有什么方法可以使用Route參數或任何其他級別執行此操作?
默認情況下,不指定格式化程序,Web api將返回xml或json。
如果需要返回json,只需在客戶端的標頭中指定以下內容:
Accept: application/json
使用Javascript
var urlString = "http://localhost/api/values/Get";
$.ajax({
url: urlString,
type: 'GET',
data: {id : 1},
dataType: 'json',
contentType: 'application/json',
success: function (data) { console.log(data); }
});
或xml:
Accept: application/xml
使用Javascript
var urlString = "http://localhost/api/values/Get";
$.ajax({
url: urlString,
type: 'GET',
data: {id : 1},
dataType: 'xml',
contentType: 'application/xml',
success: function (data) { console.log(data); }
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.