NetCore+Dapper WebApi架构搭建(五):Swagger构建WebApi界面
上一节讲解了仓储的依赖注入,想必现在都可以通过构造函数依赖注入直接调用
但是WebApi只是提供一个接口调用,为了方便我们的操作,我们得给他加上一个图形化界面工具,使用Swagger
WebApi项目添加Swagger的Nuget包:Swashbuckle.AspNetCore
打开StartUp.cs类,在ConfigureServices方法里面添加下面的代码
#region 添加SwaggerUI services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new Info
{
Title = "Dinner API接口文档",
Version = "v1",
Description = "RESTful API for Dinner",
TermsOfService = "None",
Contact = new Contact { Name = "wangshibang", Email = "wangyulong0505@sina.com", Url = "" }
});
options.IgnoreObsoleteActions();
options.DocInclusionPredicate((docName, description) => true);
options.IncludeXmlComments(Path.Combine(PlatformServices.Default.Application.ApplicationBasePath, "Dinner.WebApi.xml"));
options.DescribeAllEnumsAsStrings();
options.OperationFilter<HttpHeaderOperation>(); // 添加httpHeader参数
}); #endregion
在Configure方法里面添加下面的代码
#region 使用SwaggerUI app.UseSwagger();
app.UseSwaggerUI(options =>
{
options.SwaggerEndpoint("/swagger/v1/swagger.json", "Dinner API V1");
}); #endregion
PlatformServices.Default.Application.ApplicationBasePath是项目生产的默认目录,Dinner.WebApi.xml是项目生产的Xml文档,这需要设置
右键WebApi项目选择属性
后面添加个1591是为了避免不必要的警告
然后打开项目下面的Properties下面的launchSettings.json修改页面启动页为swagger
上面说的RuntimeHelper类有个[ApiExplorerSettings(IgnoreApi=true)],这个是忽略这个Api的意思,你只需要在对应的Api上面添加这个特性,对应的Api就会被忽略
我们需要在UsersController里面的action上写上注释,这样在Swagger页面才会有对应的文字说明
在StartUp类里面的swagge配置里有个options.OperationFilter<HttpHeaderOperation>();,这个是认证的内容,我们放到下节讲解,现在你们先把他注释掉
F5运行项目,看看生成的swagger页面
下一节我们讲JWT认证
源码地址:https://github.com/wangyulong0505/Dinner
NetCore+Dapper WebApi架构搭建(五):Swagger构建WebApi界面的更多相关文章
- NetCore+Dapper WebApi架构搭建(四):仓储的依赖注入
上一节我们讲到实体,仓储接口和仓储接口的实现需要遵循约定的命名规范,不仅是规范,而且为了依赖注入,现在我们实现仓储的依赖注入 在NetCore WebApi项目中新添加一个文件夹(Unit),当然你也 ...
- NetCore+Dapper WebApi架构搭建(一):基本框架
初衷是想用dapper搭建一个高性能的架构,因为dapper操作数据库的效率很高 1.VS创建一个NetCore WebApi的框架,然后解决方案添加一个NetStandard的类库 整个解决方案如图 ...
- NetCore+Dapper WebApi架构搭建(六):添加JWT认证
WebApi必须保证安全,现在来添加JWT认证 1.打开appsettings.json添加JWT认证的配置信息 2.在项目根目录下新建一个Models文件夹,添加一个JwtSettings.cs的实 ...
- NetCore+Dapper WebApi架构搭建(二):底层封装
看下我们上一节搭建的架构,现在开始从事底层的封装 1.首先需要一个实体的接口IEntity namespace Dinner.Dapper { public interface IEntity< ...
- NetCore+Dapper WebApi架构搭建(三):添加实体和仓储
上一节讲了类库添加一些底层的基本封装,下面来添加实体和仓储 1.Entities文件夹添加一个实体类Users,继承BaseModel,即拥有BaseModel的主键 using System; na ...
- webapi框架搭建系列博客
webapi框架搭建系列博客 webapi框架搭建-创建项目(一) webapi框架搭建-创建项目(二)-以iis为部署环境的配置 webapi框架搭建-创建项目(三)-webapi owin web ...
- 如何在Visual Studio 2017中使用C# 7+语法 构建NetCore应用框架之实战篇(二):BitAdminCore框架定位及架构 构建NetCore应用框架之实战篇系列 构建NetCore应用框架之实战篇(一):什么是框架,如何设计一个框架 NetCore入门篇:(十二)在IIS中部署Net Core程序
如何在Visual Studio 2017中使用C# 7+语法 前言 之前不知看过哪位前辈的博文有点印象C# 7控制台开始支持执行异步方法,然后闲来无事,搞着,搞着没搞出来,然后就写了这篇博文,不 ...
- dotnet core webapi +vue 搭建前后端完全分离web架构
架构 服务端采用 dotnet core webapi 前端采用: Vue + router +elementUI+axios 问题 使用前后端完全分离的架构,首先遇到的问题肯定是跨域访问.前后端可 ...
- dotnet core webapi +vue 搭建前后端完全分离web架构(一)
架构 服务端采用 dotnet core webapi 前端采用: Vue + router +elementUI+axios 问题 使用前后端完全分离的架构,首先遇到的问题肯定是跨域访问.前后端可 ...
随机推荐
- 禅道CMS 获文件名脚本
use Net::HTTP::GET; use Base64; ; windowWidth=; windowHeight=; sid=jg9g2mk5kmru46lmd3g2evoc87>; # ...
- Android Bander设计与实现 - 设计
Binder Android IPC Linux 内核 驱动 摘要 Binder是Android系统进程间通信(IPC)方式之一.Linux已经拥有管道,system V IPC,socket等IPC ...
- juery下拉刷新,ajax请求,div加载更多元素(一)
;//设置当前页数 var flag=true; //滑动加载 $(function(){ var winH = $(window).height(); //页面可视区域高度 $(window).sc ...
- http请求中的中文乱码问题
通过浏览器访问服务器页面和资源时,不可避免地要传送中文字串,如果客户机与服务器不能用同一码表解析字串,肯定会出现各种各样的乱码问题.我总结了几个乱码场景及解决办法,如下 1.服务器上的中文字串被客户端 ...
- asterisk控制台取消NOTICE信息
中道拨号方案取消了控制台输出的NOTICE信息: 方法:vim /etc/asterisk/logger.conf;console => notice,warning,error把上面这行取消 ...
- 一篇文章读懂开源web引擎Crosswalk-《转载》
前言 Web技术的优势早已被广大应用开发者熟知,比如可与云服务轻松集成,基于响应式UI设计的精美布局,高度的开放性,跨平台能力, 高效的分发与部署等等.伴随着移动互联网的快速发展与HTML5技术的逐步 ...
- js字符串基本操作
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtm ...
- 学习shell脚本之前的基础知识
日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目.有的单位 ...
- POJ 3376 Finding Palindromes(manacher求前后缀回文串+trie)
题目链接:http://poj.org/problem?id=3376 题目大意:给你n个字符串,这n个字符串可以两两组合形成n*n个字符串,求这些字符串中有几个是回文串. 解题思路:思路参考了这里: ...
- algorithm之unique
#include<iostream> #include<algorithm> usingnamespace std; /**< unique函数的算法思想 */ vect ...