swagger

【WebAPI No.4】Swagger实现API文档功能

廉价感情. 提交于 2020-05-02 09:23:31
介绍: Swagger也称为Open API,Swagger从API文档中手动完成工作,并提供一系列用于生成,可视化和维护API文档的解决方案。简单的说就是一款让你更好的书写API文档的框架。 我们为什么选择swagger,现在的网站开发结果越来越注重前后端的分离,比如以前的webFrom到现在的mvc模式都是为了这个前后端的分离。就算再如何的分离实现,也是不可避免的要进行数据交互的,那么接口的重要性就提现出来了。他成了前端和后端交互的重要途径,API文档也因此成了前端开发人员与后端开发人员的重要纽带。所有我们有一个API文档框架岂不是美哉。 Swashbuckle有三个主要组件: Swashbuckle.AspNetCore.Swagger:Swagger对象模型和中间件,将SwaggerDocument对象公开为JSON端点。 Swashbuckle.AspNetCore.SwaggerGen:一种Swagger生成器,可SwaggerDocument直接从路由,控制器和模型构建对象。它通常与Swagger端点中间件结合使用,以自动公开Swagger JSON。 Swashbuckle.AspNetCore.SwaggerUI:Swagger UI工具的嵌入式版本。它将Swagger JSON解释为构建丰富的,可定制的Web API功能描述体验。它包括用于公共方法的内置测试线束

Swagger实现API文档功能

生来就可爱ヽ(ⅴ<●) 提交于 2020-05-02 09:23:19
介绍: wagger也称为Open API,Swagger从API文档中手动完成工作,并提供一系列用于生成,可视化和维护API文档的解决方案。简单的说就是一款让你更好的书写API文档的框架。 我们为什么选择swagger,现在的网站开发结果越来越注重前后端的分离,比如以前的webFrom到现在的mvc模式都是为了这个前后端的分离。就算再如何的分离实现,也是不可避免的要进行数据交互的,那么接口的重要性就提现出来了。他成了前端和后端交互的重要途径,API文档也因此成了前端开发人员与后端开发人员的重要纽带。所有我们有一个API文档框架岂不是美哉。 Swashbuckle有三个主要组件: Swashbuckle.AspNetCore.Swagger:Swagger对象模型和中间件,将SwaggerDocument对象公开为JSON端点。 Swashbuckle.AspNetCore.SwaggerGen:一种Swagger生成器,可SwaggerDocument直接从路由,控制器和模型构建对象。它通常与Swagger端点中间件结合使用,以自动公开Swagger JSON。 Swashbuckle.AspNetCore.SwaggerUI:Swagger UI工具的嵌入式版本。它将Swagger JSON解释为构建丰富的,可定制的Web API功能描述体验。它包括用于公共方法的内置测试线束。

如何使用Swagger为.NET Core 3.x应用添加JWT授权API说明文档

老子叫甜甜 提交于 2020-05-02 09:23:06
简介 随着微软***.NET Core 的诞生,除了恐龙以外第二个应该灭绝的 .NET程序员***,总算看到了一米阳光。真是做噩梦都没想到,有一天我们也可以抛弃Windows这2货,去拥抱主流的 Linux+Docker 的时代。 尝试一些事,遭遇失败后从中学习,比什么事都不做更好。—马克.佐克伯 Swagger对我们有什么帮助? 对于开发人员来说, 调试API接口和生成API文档 是一件极其头疼的事情。我们在百忙之中,不得不为前端开发人员编写接口文档,来描述系统中N个接口的参数及返回状态,再借助PostMan等第三方工具来测试API的正确性。 在有了 Swagger 后,这项体力活终于得到了极大的改善,我们不但可以自动构建漂亮的交互式API说明文档,还可以 直接调试API接口的正确性 。最新版的Swagger已经完美支持Open Api规范及JWT Token授权访问等。 我们可以用它来做什么? 生成精美的API接口文档 调试JWT授权接口 生成各个类库中视图模型的描述 项目开源地址 Swagger项目开源地址: https://github.com/domaindrivendev/Swashbuckle.AspNetCore 1.创建一个.NET Core项目 首先,新建一个.NET Core 3.x Web Api 项目,打开Nuget安装管理器,勾选左下角的 显示预览发行包

基于.NET Core 3.1的WebApi集成swagger

那年仲夏 提交于 2020-05-02 09:22:22
=============================================== 2020/1/8_第1次修改 ccb_warlock =============================================== swagger作为Asp .Net的接口文档已经应用于当前系统一段时间了,比起开个postman填参数请求来说这个后台开发可以直接用swagger来快速测试接口的业务,前端开发通过查看swagger可以快速了解后台API的输入输出(毕竟开发进度紧张的情况下不可能来得及及时维护文档,但是开发环境的swagger只要代码更新就会一起更新) 最近为了试验EF Core 2.2的datetime类型存在的一个缺陷,公司也没有1个.net core 3.0以上的项目,没办法只有先改造.net core 2.2的项目到.net core 3.1以后,再进行下一步测试。 在做框架升级的时候,不得不实现swagger升级的问题。而swagger的升级问题花了点时间来处理,所以记录下过程方便以后查看。 现在的稳定版还不支持.net core 3.0+,所以Nuget里需要升级下面2个项目到5.0.0以上的预览版才能实现swagger的升级。 Swashbuckle.AspNetCore( 勾选上预发行,当前要v5.0.0-rc5以上版本 )

Springboot登录拦截器

那年仲夏 提交于 2020-05-02 09:00:37
Springboot登录拦截器 和 swagger框架接口自动生成html文档 使用开发工具:IDEA 实现步骤如下 1.需导入的依赖如下: <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!--swagger api 依赖 --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version> 2.9 . 2 </version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version> 2.9 . 2 <

PCB DotNetCore Swagger生成WebAPI文档配置方法

匆匆过客 提交于 2020-05-02 08:29:12
在.net framework框架下可以使用WebApiTestClientWebApi生成WebAPI接口文档与方便接口测试用,而在DotnetCore却没有找到这个工具了,baidu查找一下发现有一个相类似的工具,它就是Swagger,和使用WebApiTestClientWebApi差不多的,这里Swagger配置过程整理如下: 一.下载Swashbuckle.AspNetCore NuGet下载安装Swashbuckle.AspNetCore 二.Startup.cs代码修改 1.ConfigureServices方法加入 Swagger新增以下代码 // 运行时调用此方法。使用此方法向容器中添加服务。 public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); // Swagger新增代码 services.AddSwaggerGen(options => { // API文档信息 options.SwaggerDoc( " v1 " , new Info { Version = " V1 " , Title = " PCB WebApi " ,

基于.NetCore3.1搭建项目系列 —— 使用Swagger做Api文档 (下篇)

自闭症网瘾萝莉.ら 提交于 2020-05-02 08:28:50
前言 回顾上一篇文章 《使用Swagger做Api文档 》 ,文中介绍了在.net core 3.1中,利用Swagger轻量级框架,如何引入程序包,配置服务,注册中间件,一步一步的实现,最终实现生产自动生产API接口说明文档。文中结尾也留下了一个让大家思考的问题。在这里,我们重新回顾一下这几个问题 1. 已经有接口了,但如何添加注释呢? 2. 作为接口使用者,我们关心的是接口的返回内容和响应类型,那我们如何定义描述响应类型呢? 3. 在项目开发中,使用的实体类,又如何在Swagger中展示呢? 4. 在部署项目,引用Swagger既有文档又不需要额外部署,但是如何在开发环境中使用,而在生产环境中禁用呢? 开始 一、为接口方法添加注释 1 . 按照下图所示 连点三次 / 即可添加文档注释 如下所示 2.启用XML 注释 右键web 项目名称=>属性=>生成 ,勾选“输出”下面的“ xml文档文件 ”,系统会默认生成一个,如下图所示 3.配置服务 在之前注册的Swagger服务代码中,添加以下几行代码,引入xml文件 var basePath = Path.GetDirectoryName( typeof (Program).Assembly.Location); // 获取应用程序所在目录(绝对,不受工作目录影响,建议采用此方法获取路径) // var basePath =

.netcore3.1添加swagger及JWT Authorize 验证

£可爱£侵袭症+ 提交于 2020-05-02 08:28:21
上一篇我们已经弄好了swaager ,接下赖集成一下jwt进行认证。 首先引入Microsoft.AspNetCore.Authentication.JwtBearer nuget包 在startup中加入jwt配置。这里ValidIssuer和ValidAudience和secret 最好配置一下,我这里写死了。 services.AddAuthentication(x => { x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }).AddJwtBearer(x => { x.RequireHttpsMetadata = false ; x.SaveToken = true ; x.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true , IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes( " 123456111111111111111111 "

【大道至简】NetCore3.1快速开发框架一:集成Swagger

≡放荡痞女 提交于 2020-05-02 08:28:04
在上一章节中,我们创建了基本的框架结构: https://www.cnblogs.com/fuyu-blog/p/12217647.html 下面我们测试接口和集成Swagger接口文档 一、接口测试 在默认创建的API中,大大和2.2不一样的是给了一个默认的接口示例,但不是Values了,变成了一个天气预报,【为什么呢~~~】 好吧,不管是Values还是天气预报,只要能运行起来,就是好大大 在Api项目右击,点击选择运行,或者在工具栏,点击运行-启动而不调试 自动会打开浏览器,运行成功 下一步,我们自己新建的接口测试一下 在API项目中,Controller文件夹,右击新建文件 选择ASP.NET Core ——Web Api控制器类,输入一个自己写的名字,点击新建按钮 这样一个简单的接口测试类就生成了 生成项目F6 输入测试地址: https://localhost:5001/api/values 访问成功 二、集成Swagger接口文档 在FytSoa.Api项目右击依赖项中,选择管理nuget包,并搜索Swashbuckle.AspNetCore包添加至引用 添加成功 在 Startup 类中 添加并配置 Swagger 中间件 public void ConfigureServices(IServiceCollection services) { services

.NetCore2.1 WebAPI新增Swagger插件

*爱你&永不变心* 提交于 2020-05-02 07:18:23
说明 Swagger是一个WebAPI在线注解、调试插件,过去我们主要通过手工撰写WebAPI接口的交互文档供前端开发人员或外部开发者, 官网地址: https://swagger.io/ 。 但是在实际工作中,往往咋们的文档工作通常落后于实际的环境,导致文档和实际接口不一致,前后端开发人员苦不堪言。 Swagger的出现解放了接口文档撰写的麻烦也提高了前后端开发者的工作效率,所谓“工欲善其事,必先利其器 ”。现在让咋们 了解下在.NET Core 2.1下如何实现Swagger。 1、Nuget安装依赖包 首先Nuget安装Swashbuckle.AspNetCore 打开Nuget控制台(程序包管理控制台),键入下列命令 Install-Package Swashbuckle.AspNetCore 2、添加Swagger中间件 public IServiceProvider ConfigureServices(IServiceCollection services) { services.Configure<CookiePolicyOptions>(options => { // This lambda determines whether user consent for non-essential cookies is needed for a given request.