【从零开始搭建自己的.NET Core Api框架】(一)创建项目并集成swagger:1.1 创建
既然说了是从零开始,那就从最基本的新建项目开始吧~
新建一个ASP.NET Core Web应用程序,取名为RayPI。
这里选择API模板
生成项目之后,控制器默认生成了一个ValuesController,里面只有几个简单的RESTful风格的接口,分别对应增删改查的功能,没有涉及到数据库数据,只是给我们作为参考而已。
我们可以直接F5进入调试运行状态,结果是这样的:
到这,一个最基础、最原生的“光秃秃”的.NET Core API环境已经搭建好了,但是离我们想要的API框架还很远。
接下来,我们要在项目里集成Swagger插件。
Swagger是一个API接口文档帮助插件,使用它,可以将我们编写的接口自动生成一个规范化的文档,其他开发人员(主要是负责的对接接口的前端人员)就可以通过浏览器访问对应的地址,查看接口的相关信息。
当然,swagger也提供了基础的测试功能,这个下一章再讲~
下面开始引入swagger插件
方法有两个:
第一种可以去swagger官网或github上下载源码,然后将源码(一个类库)引入自己的项目;
第二种是直接利用NuGet包添加程序集应用。
因为很少有需要更改swagger源码的需求,所以这里我们选择比较简单的第二种方法。
依次点击 工具=>NuGet包管理器=>管理解决方案的NuGet程序包
在弹出的页面中,搜索“Swashbuckle.AspNetCore”,然后勾选RayPI项目(如果解决方案里有多个类库,只需要勾选主项目,也就是包含控制器的项目),点击安装
安装完成之后,在项目的依赖项里可以看到多出了一个引用
这时,运行调试,wagger还是没有起作用的,因为还没有在项目的启动项里添加swagger服务。
下面添加服务:
打开Startup.cs类,编辑ConfigureServices类
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { services.AddMvc(); #region Swagger services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Info { Version = "v1.1.0", Title = "Ray WebAPI", Description = "框架集合", TermsOfService = "None", Contact = new Swashbuckle.AspNetCore.Swagger.Contact { Name = "RayWang", Email = "2271272653@qq.com", Url = "http://www.cnblogs.com/RayWang" } }); }); #endregion }
编辑Configure类
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IHostingEnvironment env) { if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseMvc(); #region Swagger app.UseSwagger(); app.UseSwaggerUI(c => { c.SwaggerEndpoint("/swagger/v1/swagger.json", "ApiHelp V1"); }); #endregion }
到这,已经完成swagger的添加,F5运行调试,在域名后面输入/swagger,点击回车
可以看到,swagger将我们项目的接口(这里只有一个系统默认生成values接口)自动生成一个可视化的接口文档,点击对应接口,可以查看接口的相关信息,也可以在当前页进行简单的测试调用。
本章我们一起从零开始搭建了基于.NET Core 的API原生环境,并且简单地集成了swagger插件。
下一章,我们将对swagger进行进一步的详细设置。
上一篇: 关于.NET Core 2.0.2升级到2.1.1版本相关问题
下一篇: 无任何作用