web api写api接口时返回

Posted Steven.Li

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web api写api接口时返回相关的知识,希望对你有一定的参考价值。

web api写api接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回为json呢,下面就介绍两种方法:
方法一:(改配置法)

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

复制代码 代码如下:

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


修改后:

复制代码 代码如下:

protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
// 使api返回为json
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
}


这样返回的结果就都是json类型了,但有个不好的地方,如果返回的结果是String类型,如123,返回的json就会变成"123";

解决的方法是自定义返回类型(返回类型为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;

以上是关于web api写api接口时返回的主要内容,如果未能解决你的问题,请参考以下文章

api文档怎么写? api接口我已经写好了但时文档不太会写 还有编写api文档有啥作用 请各位高手大虾指点迷津

web api接口同步和异步的问题

ASP.NET Core Web API 接口限流

如何用java web 调用天气接口

Web API接口设计注意事项幂等超时优化

3Web Api 身份验证