柬埔寨网站建设运营维护,网站首页分辨率,网站建设需求调研通知,58同城黄页推广项目集成swagger 文章目录 前言一、背景二、问题复现1.Full authentication is required to access this resource2.Illegal DefaultValue null for parameter type integer 总结 前言
项目集成swagger这个没啥好整的#xff0c;maven项目就在pom文件导入依赖#xff0c;ser… 项目集成swagger 文章目录 前言一、背景二、问题复现1.Full authentication is required to access this resource2.Illegal DefaultValue null for parameter type integer 总结 前言
项目集成swagger这个没啥好整的maven项目就在pom文件导入依赖servlet项目就在lib目录下导入jar包这些过程略。 一、背景
我这里是springbootmavenswagger集成之后项目启动访问地址 ip:端口/项目路径/doc.html 例如自己电脑启动项目之后访问路径为 http://127.0.0.1:9001/doc.html 这个访问路径是未设置项目路径的 项目路径介绍 Context path of the application. 应用的上下文路径也可以称为项目路径是构成url地址的一部分。
springboot关于项目路径的配置
1、springboot 2.0之前配置为 server.context-path/cattle-agent
2、springboot 2.0之后配置为 server.servlet.context-path/cattle-agent
二、问题复现
1.Full authentication is required to access this resource
在接入swagger之后访问页面会报错错误提示 访问此资源需要身份验证因为swagger这个不需要身份验证处理方法新建一个config类这里使用的是swagger-ui如果需要增强版本或者其他版本的swagger-ui样式去百度搜。
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.resource.ContentVersionStrategy;
import org.springframework.web.servlet.resource.VersionResourceResolver;Configuration
Slf4j
public class WebConfig implements WebMvcConfigurer {Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry) {VersionResourceResolver versionResourceResolver new VersionResourceResolver().addVersionStrategy(new ContentVersionStrategy(), /**);// 配置静态文件访问路径
// registry
// .addResourceHandler(/**)
// .addResourceLocations(classpath:/static/)
// .setCachePeriod(2592000)
// .resourceChain(true)
// .addResolver(versionResourceResolver);// 解决swagger无法访问registry.addResourceHandler(/swagger-ui.html).addResourceLocations(classpath:/META-INF/resources/);// 解决swagger的js文件无法访问registry.addResourceHandler(/webjars/**).addResourceLocations(classpath:/META-INF/resources/webjars/);registry.addResourceHandler(doc.html).addResourceLocations(classpath:/META-INF/resources/);}
}2.Illegal DefaultValue null for parameter type integer
加入上述配置之后启动项目访问页面可以显示出接口文档了但是在控制台会出现这个问题 Illegal DefaultValue null for parameter type integer 解决办法 pom文件增加如下依赖
!-- 解决 Illegal DefaultValue null for parameter type integer 异常 --dependencygroupIdio.swagger/groupIdartifactIdswagger-annotations/artifactIdversion1.5.21/version/dependencydependencygroupIdio.swagger/groupIdartifactIdswagger-models/artifactIdversion1.5.21/version/dependency总结
刷新maven启动项目swagger正常访问控制台无报错