[英]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.