700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > webapi输出炜json_asp.net web api只返回json数据格式

webapi输出炜json_asp.net web api只返回json数据格式

时间:2020-12-10 10:21:17

相关推荐

webapi输出炜json_asp.net web api只返回json数据格式

web api默认是同时支持返回xml和json数据格式的。这种机制是因为有web api框架中的SupportedMediaTypes的存在。

具体返回什么样的数据格式,你可以在请求接口的时候指定content-type,如果没有指定,会以默认的格式返回。

比如在浏览器上输入get接口时,会返回类似如下格式信息:

那为什么会出现这样的情况呢?我们打开f12看看请求头。

看到了吗?默认加上了application/xml,所以会返回xml格式。

如果我想去掉xml格式,只保留json。那该怎么办呢?

在WebApiConfig中的Register方法移除application/xml的MediaType。

加下如下代码:

var formatters = config.Formatters.Where(formatter =>

formatter.SupportedMediaTypes.Where(media => media.MediaType.ToString() == "application/xml").Count() > 0) //找到请求头信息中的介质类型

.ToList();

foreach (var match in formatters)

{

config.Formatters.Remove(match); //移除请求头信息中的XML格式

}

如下图:

再次请求接口:

在响应头中也标示为application/json了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。