Asp.Net WebAPI配置接口返回数据类型为Json格式

Posted 天马3798

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Asp.Net WebAPI配置接口返回数据类型为Json格式相关的知识,希望对你有一定的参考价值。

一、默认情况下WebApi

对于没有指定请求数据类型类型的请求,返回数据类型为Xml格式

例如:从浏览器直接输入地址,或者默认的XMLRequest,或者AngularJs的get请求等。

对于有循环引用的也会抛出异常““ObjectContent`1”类型未能序列化内容类型“application/xml; charset=utf-8”的响应正文。”

 

二、设置返回格式为Json数据

1.修改配置,这对所有的接口都生效

找到Global.asax文件,在Application_Start()方法中添加一句: 

GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear()

2.针对某一个接口设置

解决的方法是自定义返回类型(返回类型为HttpResponseMessage) 

 
public HttpResponseMessage PostUserName(User user) 
{ 
String userName = user.userName; 
HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(userName,Encoding.GetEncoding("UTF-8"), "application/json") }; 
return result; 
} 

 

更多:

Asp.Net WebApi 项目及依赖整理

Asp.Net WebApi+Microsoft.AspNet.WebApi.Core 启用CORS跨域访问

使Asp.net WebApi支持JSONP和Cors跨域访问

自定义序列化处理:www.cnblogs.com/acles/archive/2013/06/21/3147667.html

以上是关于Asp.Net WebAPI配置接口返回数据类型为Json格式的主要内容,如果未能解决你的问题,请参考以下文章

asp.net WebApi 使用总结

ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml)

asp.net core序列化json配置,适用于mvc,webapi

asp.net core序列化json配置,适用于mvc,webapi

WEBapi如何 去除 ASP.NET_SessionId 这个返回的Cookies啊?

Asp.Net WebApi 上的自定义授权属性