修改 mvc webapi 默认返回 json 格式
web api 默认的已 xml 格式返回数据
现在开发一般都是以 json 格式为主
下面配置让 webapi 默认返回 json ,在需要返回 xml 时只需要加一个查询参数 datatype=xml 即可返回 xml 格式数据
配置如下:
1.新建 一个 mvc webapi 项目 (framework4.0)
2.找到默认的 WebApiConfig.cs 文件
3.修改 WebApiConfig.cs 文件
- using System.Collections.Generic;
- using System.Linq;
- using System.Net.Http.Formatting;
- using System.Web.Http;
- namespace MvcWebApi
- {
- public static class WebApiConfig
- {
- public static void Register(HttpConfiguration config)
- {
- .......
- GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
- //默认返回 json
- GlobalConfiguration.Configuration.Formatters.JsonFormatter.MediaTypeMappings.Add(
- new QueryStringMapping("datatype", "json", "application/json"));
- //返回格式选择 datatype 可以替换为任何参数
- GlobalConfiguration.Configuration.Formatters.XmlFormatter.MediaTypeMappings.Add(
- new QueryStringMapping("datatype", "xml", "application/xml"));
- }
- }
- }
4.修改默认路由规则 WebApiConfig.cs 文件中
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net.Http.Formatting;
- using System.Web.Http;
- namespace MvcWebApi
- {
- public static class WebApiConfig
- {
- public static void Register(HttpConfiguration config)
- {
- //新加的规则
- config.Routes.MapHttpRoute(
- name: "DefaultApi2",
- routeTemplate: "api/{controller}/{action}/{id}",
- defaults: new { id = RouteParameter.Optional }
- );
- //新加的规则
- config.Routes.MapHttpRoute(
- name: "DefaultApi1",
- routeTemplate: "api/{controller}/{action}",
- defaults: new { id = RouteParameter.Optional }
- );
- //默认路由
- config.Routes.MapHttpRoute(
- name: "DefaultApi",
- routeTemplate: "api/{controller}/{id}",
- defaults: new { id = RouteParameter.Optional }
- );
- 。。。。。
- }
- }
- }
5.添加测试 action
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net;
- using System.Net.Http;
- using System.Web.Http;
- namespace MvcWebApi.Controllers
- {
- public class ValuesController : ApiController
- {
- /// <summary>
- /// web api 默认将以 get 开头的只支持 get 请求,post 开头的支持支 post 请求
- /// </summary>
- /// <returns></returns>
- [System.Web.Http.HttpGet]
- [System.Web.Http.HttpPost]
- public MyClass GetMyClass()
- {
- return new MyClass()
- {
- id=1111,
- name="张三",
- time=DateTime.Now
- };
- }
- }
- public class MyClass
- {
- public int id { set; get; }
- public string name { set; get; }
- public DateTime time { set; get; }
- }
- }
6.测试
请求地址:http://localhost:61667/api/values/getmyclass
响应内容:
{"id":1111,"name":"张三","time":"2015-09-29T16:43:07.4731034+08:00"}
请求地址:http://localhost:61667/api/values/getmyclass?datatype=xml
响应内容:
<MyClass><id>1111</id><name>张三</name><time>2015-09-29T16:43:45.3663004+08:00</time></MyClass>
转载来源:http://blog.csdn.net/xxj_jing/article/details/48808099
修改 mvc webapi 默认返回 json 格式的更多相关文章
- 如何让webapi只返回json格式数据
最近脑子不好用,总记不住事,以前搞过让webapi只返回json格式的数据,今天有人问我又突然想不起了,后来总结一下,备忘一下,大概有下面几种处理方式 1.在WebApiConfig类的Registe ...
- asp.net MVC控制器中返回JSON格式的数据时提示下载
Asp.net mvc在接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("# ...
- 在IE中MVC控制器中返回JSON格式的数据时提示下载
最近做项目时,视图中用jquery.form.js异步提交表单时,接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如 ...
- webapi返回json格式,并定义日期解析格式
1.webapi返回json格式 var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferen ...
- WebApi返回Json格式字符串
WebApi返回json格式字符串, 在网上能找到好几种方法, 其中有三种普遍的方法, 但是感觉都不怎么好. 先贴一下, 网上给的常用方法吧. 方法一:(改配置法) 找到Global.asax文件,在 ...
- (转)WebApi返回Json格式字符串
原文地址:https://www.cnblogs.com/elvinle/p/6252065.html WebApi返回json格式字符串, 在网上能找到好几种方法, 其中有三种普遍的方法, 但是感觉 ...
- WebAPI搭建(二) 让WebAPI 返回JSON格式的数据
在RestFul风格盛行的年代,对接接口大多数人会选择使用JSON,XML和JSON的对比传送(http://blog.csdn.net/liaomin416100569/article/detail ...
- ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理
话不多说,直接进入主题. 需求:基于Http请求接收Json格式数据,返回Json格式的数据. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性 ...
- webapi返回json格式优化
一.设置webapi返回json格式 在App_Start下的WebApiConfig的注册函数Register中添加下面这代码 config.Formatters.Remove(config.For ...
随机推荐
- 牛客小白月赛14 -B (逆元求组合数)
题目链接:https://ac.nowcoder.com/acm/contest/879/B 题意:题目意思就是求ΣC(n,i)pi(MOD+1-p)n-i (k<=i<=n),这里n,i ...
- PTA(Advanced Level)1042.Shuffling Machine
Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techn ...
- vue第一篇(搭建vue开发环境)
1.下载node并安装 下载地址: https://nodejs.org/zh-cn/ 下载后双击文件安装 2.检查是否安装成功 node -v v10.16.0 npm -v 6.9.0 如果能正常 ...
- hello1的web.xml解析
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.1" ...
- java this的作用
this: 区分成员变量和局部变量的重名问题,this.name指的是类中的成员变量,而不是方法内部的
- Sigma (化简)牛客多校第一场 -- Integration
思路: 可以裂项化简,类似找规律,可以两项.三项代进去试试看. #define IOS ios_base::sync_with_stdio(0); cin.tie(0); #include <c ...
- 使用Python基于百度等OCR API的文字识别
百度OCR Baidu OCR API:一定额度免费,目前是每日500次 Python SDK文档:https://cloud.baidu.com/doc/OCR/OCR-Python-SDK.htm ...
- EJS学习(一)之特性、安装、工作原理
前言 EJS,"E" 代表 "effective",即[高效],EJS 是一套简单的JavaScript模板,EJS 没有如何组织内容的教条:也没有再造一套迭代 ...
- AGC009E Eternal Average
atc 神题orz 那个擦掉\(k\)个数然后写上一个平均值可以看成是\(k\)叉Huffman树的构造过程,每次选\(k\)个点合成一个新点,然后权值设为平均值.这些0和1都会在叶子的位置,同时每个 ...
- PostgreSQL 自增主键
1.自增主键:2.创建序列 一.使用SERIAL自增主键 create table test_no( id SERIAL primary key, name ) ); 二.创建序列 INCREMENT ...