asp.net mvc让api返回json格式
第一种方法
API完整代码
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Description;namespace WebSocket.Api
{/// <summary>/// List文章列表/// </summary>public class ListController : ApiController{// GET api/<controller>/// <summary>/// Listjson方法/// </summary>/// <returns></returns>[AcceptVerbs("GET", "POST")][Route("API/List/Listjson/")][ResponseType(typeof(ReturnResult))]public HttpResponseMessage Listjson(){ReturnResult result = new ReturnResult() {code = 0,msg="成功"};result.data = JsonConvert.SerializeObject(new string[] { "value1", "value2" });string json = JsonConvert.SerializeObject(result); return new HttpResponseMessage { Content = new StringContent(json, System.Text.Encoding.UTF8, "application/json") };}}internal class ReturnResult{/// <summary>///数据状态一切正常的状态码 0:成功,1:失败/// </summary>public int code { get; set; } = 1;/// <summary>/// 状态信息/// </summary>public String msg { get; set; } = "失败";/// <summary>/// 数据详情/// </summary>public string data { get; set; }/// <summary>/// 数据总条数/// </summary>public int count { get; set; } = 0;}
}
这里用到了
1.Newtonsoft.Json
2.设置请求类型
[AcceptVerbs("GET", "POST")]
3.特性路由
[Route("API/List/Listjson/")]
特性路由开启
项目》App_Start》RouteConfig.cs
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
完整代码
namespace WebSocket
{public class RouteConfig{public static void RegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapMvcAttributeRoutes();routes.MapRoute(name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional });}}
}
4.设置响应类型特性
[ResponseType(typeof(ReturnResult))]
这个特性需要引入
using System.Web.Http.Description;
里面的typeof(ReturnResult)的ReturnResult是一个模型类,上面的“API完整代码”有写
效果展示
我封装好的代码
我的Swagger实例ASP.NET MVC集成SwaggerUI,Swashbuckle v5.6.0配置
https://blog.csdn.net/cplvfx/article/details/108716279
可能你还需要
c# asp.net mvc API接口安全过滤,api域名过滤,api域名+端口过滤
https://blog.csdn.net/cplvfx/article/details/108510697
第二种方法
参考:http://blchen.com/change-asp-net-web-api-default-return-type-to-json/
ASP.NET Web API的controller默认的返回数据格式是XML格式,要改成返回JSON格式只需要在WebApiConfig.cs文件里的Register方法末尾加上如下代码
var json = config.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;
json.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";//返回时间格式化
config.Formatters.Remove(config.Formatters.XmlFormatter);
WebApiConfig.cs 完整代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Http;namespace HaoSiJiaWeb
{public static class WebApiConfig{public static void Register(HttpConfiguration config){// Web API 配置和服务// Web API 路由config.MapHttpAttributeRoutes();config.Routes.MapHttpRoute(name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional }); var json = config.Formatters.JsonFormatter;json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;json.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";//返回时间格式化config.Formatters.Remove(config.Formatters.XmlFormatter);}}
}
asp.net mvc让api返回json格式相关推荐
- asp.net MVC控制器中返回JSON格式的数据时提示下载
Asp.net mvc在接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("# ...
- MVC web api 返回JSON的几种方式,Newtonsoft.Json序列化日期时间去T的几种方式
MVC web api 返回JSON的几种方式,Newtonsoft.Json序列化日期时间去T的几种方式 2015-01-18 00:11 https://www.muhanxue.com/essa ...
- .net mvc web api 返回 json 内容,过滤值为null的属性
原文:http://blog.csdn.net/xxj_jing/article/details/49508557 版权声明:本文为博主原创文章,未经博主允许不得转载..net mvc web api ...
- .net mvc web api 返回 json 内容时过滤值为null的属性
1.响应内容(过滤前) {"msg":"初始化成功!","code":"","success":tr ...
- java json 返回null,[] Spring4 MVC 返回json格式时候 设置不返回null值属性的有关问题...
[求助] Spring4 MVC 返回json格式时候 设置不返回null值属性的问题 本帖最后由 bighong0404 于 2015-10-06 12:45:38 编辑 背景: 使用@respon ...
- [转载]Asp.net MVC中Controller返回值类型
Asp.net MVC中Controller返回值类型 在mvc中所有的controller类都必须使用"Controller"后缀来命名 并且对Action也有一定的要求: 必须 ...
- webapi输出炜json_.Net基于MVC4 Web Api输出Json格式实例
本文实例讲述了.Net基于MVC4 Web Api输出Json格式的方法,分享给大家供大家参考.具体实现方法如下: 1.Global 中增加json输出 GlobalConfiguration.Con ...
- Spring Boot教程(二十五)返回JSON格式
在上述例子中,通过@ControllerAdvice统一定义不同Exception映射到不同错误处理页面.而当我们要实现RESTful API时,返回的错误是JSON格式的数据,而不是HTML页面,这 ...
- Spring MVC--使用Jackson返回JSON格式数据
使用Jackson返回JSON格式数据 index.jsp <%@ page language="java" contentType="text/html; cha ...
最新文章
- 扩展typeof来判断js变量的类型
- 旺铺免费,淘宝的义务不能免
- Hibernate Tools for Eclipse的使用
- 想成为全栈工程师,要做到哪几点?
- 测试人员未来的3条出路
- ad9生成坐标文件_GROMACS各种文件格式介绍
- java.io.IOException: 你的主机中的软件中止了一个已建立的连接。
- c语言不用的行参警告,如何在C语言中禁止“未使用的参数”警告?
- 【数字信号处理】基于matlab GUI IIR低通+FIR高通信号时域+频谱分析【含Matlab源码 1029期】
- fiddler4安装及使用手机抓包
- setuna快捷键_Setuna 办公截图神器
- 计算机应用专业对视力,多媒体教学设备对学生视力影响问题的思考及建议
- 万能批处理工具包最终版
- 量化选股常见的策略模型
- 嵌入式ARM体系结构总结
- 数据清洗以及常用的方法
- linux 远程端口号,linux远程端口查看
- 吉米_王:浅谈深拷贝和浅拷贝异同点
- 有钱人抢豪宅,普通人不敢消费:社会在割裂,富人更富,穷人更穷
- 带有详细书签的IT电子书大全