让WebAPI 返回JSON花样的数据实例教程【C#.Net教程】,javascript,WebAPI,JSON,api,web,搭建,返回
作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:72评论:0
1.实在要想让WebAPI 返回JSON花样的数据很简朴,只要在ConfigureWebapi要领中设置一下即可。此前须要援用两个定名空间。
using Newtonsoft.Json.Serialization;using System.Linq;
2.中心代码以下:
var json = config.Formatters.JsonFormatter;// 处理json序列化时的轮回援用题目json.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;// 移除XML序列化器config.Formatters.Remove(config.Formatters.XmlFormatter);//设置序列化体式格局为驼峰定名法var jsonFormatter = config.Formatters.OfType<System.Net.Http.Formatting.JsonMediaTypeFormatter>().First(); jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();// Web API 路由config.MapHttpAttributeRoutes();
完全代码以下:
/// <summary>/// 设置WebApi/// </summary>/// <param name="app"></param>public void ConfigureWebapi(IAppBuilder app) {//建立一个HTTP的实例设置var config = new HttpConfiguration();var json = config.Formatters.JsonFormatter;// 处理json序列化时的轮回援用题目json.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;// 移除XML序列化器 config.Formatters.Remove(config.Formatters.XmlFormatter);//设置序列化体式格局为驼峰定名法var jsonFormatter = config.Formatters.OfType<System.Net.Http.Formatting.JsonMediaTypeFormatter>().First(); jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();// Web API 路由 config.MapHttpAttributeRoutes();//映照路由 config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } );//将设置注入OWIN管道中 app.UseWebApi(config); }
3.接下来让我们来测试一下,增加一个名为ProductController的Controller,删掉一切的要领,增加一个GetProductList要领,代码以下:
[HttpGet]public HttpResponseMessage GetProduct() {var product = new { id = 1, name = "三星王炸" }; HttpResponseMessage result = new HttpResponseMessage(); result.Content = new StringContent(JsonConvert.SerializeObject(product), Encoding.GetEncoding("UTF-8"), "application/json");return result; }
4.在浏览器中输入http://localhost:27650/api/product/GetProduct ,输出结果为
5.我们发明如果在浏览器中输入http://localhost:27650/api/product 一样也可以获得返回值,让我们来简朴革新一下从新再写一个新要领
[HttpGet]public HttpResponseMessage GetProduct2(string id) {var product = new { id = id, name = "三星王炸" }; HttpResponseMessage result = new HttpResponseMessage(); result.Content = new StringContent(JsonConvert.SerializeObject(product), Encoding.GetEncoding("UTF-8"), "application/json");return result; }
6.在浏览器中输入http://localhost:27650/api/product?id=3 和 http://localhost:27650/api/product 获得的结果分别为
为何会涌现这类征象呢,人人看看我们最先在设置WebAPI的路由划定规矩,划定规矩是api/{controller}/{id} ,也就是说此划定规矩不会去婚配action的称号,而是依据传入的参数范例和个数来决议的。
7.那末怎样让WebAPI 依据要领称号来婚配呢,让我们来修正一下路由划定规矩,代码以下:
config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } );
8.让我们再测试一下,浏览器中输入http://localhost:27650/api/product,看一下结果。
再输入http://localhost:27650/api/product/GetProduct 和 http://localhost:27650/api/product/GetProduct?id=5,发明两个返回的结果一样,申明接见的是同一个要领。
再输入http://localhost:27650/api/product/GetProduct2 和 http://localhost:27650/api/product/GetProduct2?id=6
结果:
测试通过。
这里仅作整顿,加深印象,以防本身遗忘。若有不正确的处所,迎接不吝珠玉。
以上就是让WebAPI 返回JSON花样的数据实例教程的细致内容,更多请关注ki4网别的相干文章!
相关推荐
- 【使用说明】帝国cms万能通用api二次开发核心包_CMS教程,帝国cms,api
- javascript和java的区别是什么_JAVA教程,javascript,java
- java web中如何添加图片_JAVA教程,java,web,添加图片
- 如何查看java的api文档_JAVA教程,java,api,文档,查看
- linux下搭建mysql主从服务器_MySQL教程,linux,搭建,mysql,主从,服务器
- 超简朴的Mac下搭建PHP环境教程【php教程】,mac,搭建,php环境
- java中api是什么?【JAVA教程】,java,api
- java中的api是什么【JAVA教程】,java,api
- 如安在SQL Server中重命名JSON密钥(T-SQL)?【MySQL教程】,SQL,JSON
- php json_encode怎样运用【php教程】,json_encode,api
你 发表评论:
欢迎- .Net教程排行
-
- 1案例分享c++ map的运用和 查找机能测试【C#.Net教程】,性能,map,c++
- 2细致引见C# string花样的日期时候字符串转为DateTime范例的要领【C#.Net教程】,C#,string,DateTime
- 3c#怎样运用?c#的基础语法【C#.Net教程】,c#,关键字
- 4详解ASP.NET中衔接数据库设置要领【C#.Net教程】,ASP.NET,数据库,配置
- 5C# DataSet机能最好实践【C#.Net教程】,C#,DataSet
- 6.net和c#有什么区别【C#.Net教程】,.net,c#
- 7C#_挪用封装的一个类完成导出Excel表格的功用【C#.Net教程】,C# Excel表格
- 8asp .net 面试题及答案分享【C#.Net教程】,.net,自己,整理,问题,面试
- 9让WebAPI 返回JSON花样的数据实例教程【C#.Net教程】,javascript,WebAPI,JSON,api,web,搭建,返回
- 最新文章
- 广而告之