首页 > 编程知识 正文

Springboot的优点,swagger2做什么的

时间:2023-05-05 02:45:58 阅读:133014 作者:950

笔者这两天因为接口测试的需要,在自己的项目中添加了swagger,中途遇到了一些问题,在此记录下来。

目录1、使用swagger之前必须添加的依赖关系2、创建swagger配置文件3、使用中的一些常见问题1、访问/swagger-ui.html时使用控制台打印404 (页面打印404 )

一、使用swagger前必须添加的依赖! --- swagger---- dependencygroupidio.spring fox/groupidartifactidspringfox-swagger2/artifactidversion2.9/version ependencydependencygroupidio.spring fox/groupidartifactidspringfox-swagger-ui/artifactidversion2.9.2/verrer importorg.spring framework.context.annotation.configuration; importspringfox.documentation.builders.apiinfobuilder; importspringfox.documentation.builders.parameter builder; importspringfox.documentation.builders.path selectors; importspringfox.documentation.builders.requesthandlerselectors; importspringfox.documentation.schema.model ref; importspringfox.documentation.service.API info; importspringfox.documentation.service.parameter; importspringfox.documentation.SPI.documentation type; importspringfox.documentation.spring.web.plugins.docket; importspringfox.documentation.swagger2. annotations.enable swagger 2; import java.util.ArrayList; import java.util.List; @ configuration @ enable swagger2publicclassswaggerconfig {/* * *这是一个可以创建多个的对象,然后在swagger-ui下拉框中添加多个模块* * 其中token作为请求标头参数传递给后端parameterbuilderparameterbuilder listparameterparameters=new ArrayList (; parameter builder.name (授权) .描述()令牌).model ref (new model ref ) string ).parametertyppper pararation 返回新文档(文档类型. swagger _2).APIinfo(APIinfo ) ).select ) /默认扫描完整路径////.APIS )请求默认扫描指定路径. APIs (requesthandlerselectors.base package (' com.mu yichen.demo ' ).paths ) pathselectors.any ) *.return */privateapiinfoapiinfo () { return new ApiInfoBuilder ).title ) ' d视频上传API ' )。 description (thisisarestfulapidocumentofspringboot.' ).version ) (1.0 ).build ); }

一般来说,完成上述两个步骤后,即可使用swagger。 有关具体的接口注释和参数注释,请参阅官方文档。 这里不说明。 以下主要介绍配置过程中的常见问题。

三、使用中常见的几个问题1、访问/swagger-ui.html时控制台打印404 (找不到页面)原因:一般这个问题是web MVC (配置支持类的add

解决方法:在重写的addResourceHandlers ()方法中添加swagger模块静态资源的相应路径,如下图所示

@ overrideprotectedvoidaddresourcehandlers (registry.addresourcehandler (/static/) addresourcehandler registry.addresourcehandler (swagger-ui.html ) ).addresourcelocations ) resource utils.class path webjars/** ) ).addresourcelocations (resource utils.class path _ URL _ prefix )/classpath_prefix )。 super.addresourcehandlers (注册; }查了一下那个静态资源文件配置路径,笔者以前在网上查修复方案时,发现很多博文中静态资源路径是这样写的

但是,笔者这样配置后,发现找不到我前端页面的静态资源文件(CSS、JS等),后来笔者更改了配置,变成了这样。

找到页面的静态资源文件。 当然,具体分析一下,因为作者的页面没有前后端的隔离,html静态资源文件路径前面有/static前缀,所以菜肴是这样调整的。 如果没有这个前缀,前面的写法也可以。

2、扫描路径如果笔者没有配置扫描路径,默认为全路径扫描。 而且,扫描的接口的一部分附属于一部分jarpath,影响整个业务逻辑的整理。

3、如何划分服务配置多模式界面已写在代码注释中,主要是在swagger配置文件中创建新的Docket对象,并配置与此对象对应的服务扫描路径即可。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。