我们都知道WebApi是依赖于Asp.Net MVC的 ,所以,想创建WebApi,就需要先创建一个Asp.Net MVC项目。
但用Visual Studio创建的MVC项目通常会带很多功能,而这些功能,很多是我们并不想用的,或者我们想用其他开源控件代替它。
而这样杂乱起始项目,对于我这种有精神洁癖的开发者而言,简直是折磨。
所以,让我们编写一个简洁版本的WebApi来净化世界吧。
净化版WebApi预览
首先,我们先看下净化版WebApi的结构。
如上图所示,代码结构很简单,除开配置文件,整个Web项目只有2个文件;而需要被调用的WebApi都被封装到了WebApi程序集中了。
接下来我们一起看下编写这个净化版WebApi的过程吧。
净化版WebApi编写
WebApiConfig
首先,引入必要的Dll,如下图所示。
然后,我们编写Web项目的写WebApiConfig;代码如下:
public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.Filters.Add(new WebApiAttribute()); // 解决json序列化时的循环引用问题 config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; // 对 JSON 数据使用混合大小写。跟属性名同样的大小.输出 config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new DefaultContractResolver(); // Web API 路由 config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "webapi/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); } }