ASP.NET Web API 通过参数控制返回类型(JSON|XML)


一个很实用的技巧,可以在访问web api服务的时候指定返回数据的格式类型,比如 json 或者 xml。

因为 web api 默认返回的是XML格式,但是现在json 比较流行,同时网上也有其他的全局方式的设置。

比如:

在 Global 文件中设置,首先清除其他所有的formatters,然后只保留JsonMediaTypeFormatter。

configuration.Formatters.Clear();
configuration.Formatters.Add(new JsonMediaTypeFormatter());

 

 

实现步骤:

1、在 WebApiConfig 文件中引用:System.Net.Http.Formatting

2、修改 WebApiConfig 代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http.Formatting; 
using System.Web.Http;

namespace Caixie.Dispatcher
{
    public static class WebApiConfig
    {
        public static void Register(HttpConfiguration config)
        {
            // Web API 配置和服务
            config.Formatters.JsonFormatter.AddQueryStringMapping("$format", "json", "application/json");
            config.Formatters.XmlFormatter.AddQueryStringMapping("$format", "xml", "application/xml"); 

            // Web API 路由
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controlaler}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );
        }
    }
}

 

3、访问

http://localhost:31591/api/your-action?$format=json

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM