Swagger生成的接口需要权限验证的处理方法

Easter79
• 阅读 1010

通常开发API的时候需要对接口进行权限验证,而我们在使用Swagger生成接口文档界面的时候,直接调用需要权限验证的接口会提示"当前用户没有登陆"

Swagger生成的接口需要权限验证的处理方法

为了解决此问题,我们需要更改一下Swagger的配置,

找到Startup文件,我们看到Swagger的配置如下:

services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("v1", new Info { Title = "YjJob API", Version = "v1" });
                options.DocInclusionPredicate((docName, description) => true);

            });

现在我们添加一下配置配置:

services.AddSwaggerGen(options =>
            {
                options.SwaggerDoc("v1", new Info { Title = "YjJob API", Version = "v1" });
                options.DocInclusionPredicate((docName, description) => true);
                options.AddSecurityDefinition("Bearer", new ApiKeyScheme
                {
                    Description = "Authorization format : Bearer {token}",
                    Name = "Authorization",
                    In = "header",
                    Type = "apiKey"
                });//api界面新增authorize按钮
            });

  修改后我们可以看到生成的Swagger UI界面新增了一个“Authorize”按钮:

Swagger生成的接口需要权限验证的处理方法

点击“Authorize”按钮弹出以下界面

Swagger生成的接口需要权限验证的处理方法

在value文本框中输入"Bearer "+token(登陆接口返回的access_token),然后点击“Authorize”按钮。之后再调用需要权限验证的接口就可以正常调用了

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
liam liam
2年前
接口测试工具简介!
一、Apifox的介绍1、目前接口测试的现状2、常用方案3、存在问题开发人员在Swagger定义好文档后,接口调试的时候还需要去Postman再定义一遍。前端开发Mock数据的时候又要去mockjs定义一遍,还需要手动设置Mock规则。测试人员需要去JMeter再定义一遍。前端根据mockjsMock出来的数据开发完,后
Stella981 Stella981
3年前
Spring Boot demo系列(八):Swagger
2021.2.24更新1概述Swagger主要用于生成API文档,本文演示了如何使用目前最新的OpenAPI3以及Swagger来进行接口文档的生成。2依赖<dependency<groupIdorg.springdoc</groupId
Stella981 Stella981
3年前
SpringBoot整合Swagger3生成接口文档
  前后端分离的项目,接口文档的存在十分重要。与手动编写接口文档不同,swagger是一个自动生成接口文档的工具,在需求不断变更的环境下,手动编写文档的效率实在太低。与新版的swagger3相比swagger2配置更少,使用更加方便。一、pom文件中引入Swagger3依赖<dependency
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
3年前
Shiro 放行Swagger
一、前言在使用SpringBootShiroMybatisSwagger开发后台权限管理系统的时候,由于SpringBoot采用了Shiro框架,同时API接口文档使用的Swagger,遇到一个问题,在SpringBoot集成Shiro后,访问Swagger接口需要登陆才可以,由于在项目成型之前需要做接口测试,所以这里记录下如何在Shi
Easter79 Easter79
3年前
SpringBoot整合Swagger3生成接口文档
  前后端分离的项目,接口文档的存在十分重要。与手动编写接口文档不同,swagger是一个自动生成接口文档的工具,在需求不断变更的环境下,手动编写文档的效率实在太低。与新版的swagger3相比swagger2配置更少,使用更加方便。一、pom文件中引入Swagger3依赖<dependency
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k