当前位置: 首页 > news >正文

项目集成swagger,访问不到swagger页面

项目集成swagger

文章目录

  • 前言
  • 一、背景
  • 二、问题复现
    • 1.Full authentication is required to access this resource
    • 2.Illegal DefaultValue null for parameter type integer
  • 总结


前言

项目集成swagger这个没啥好整的,maven项目就在pom文件导入依赖,servlet项目就在lib目录下导入jar包,这些过程略。


一、背景

我这里是springboot+maven,swagger集成之后,项目启动,访问地址 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    异常  --><dependency><groupId>io.swagger</groupId><artifactId>swagger-annotations</artifactId><version>1.5.21</version></dependency><dependency><groupId>io.swagger</groupId><artifactId>swagger-models</artifactId><version>1.5.21</version></dependency>

总结

刷新maven,启动项目,swagger正常访问,控制台无报错!

http://www.lryc.cn/news/164847.html

相关文章:

  • 微信小程序怎么隐藏顶部导航栏(navigationBar)变透明的解决方案
  • RabbitMQ基础概念-02
  • 从构建者到设计者的低代码之路
  • Linux创建进程 及父子进程虚拟空间 多进程GDB调试
  • uni-app 之 表格设置
  • Linux易混淆知识点
  • 移植FlashDB、SFUD到STM32f407
  • 【算法基础】时间复杂度和空间复杂度
  • 解决微信小程序不支持TextEncoder/TextDecoder对象
  • Qt下SVG格式图片应用
  • python异常处理
  • go get命令不再具有安装功能
  • 合宙Air724UG LuatOS-Air lvgl7-lvgl(矢量字体)
  • LRU的实现
  • consul 备份还原导入导出
  • 6.网络编程套接字(下)
  • 4.3-内置后置PostProcess处理器深度讲解
  • LeetCode(力扣)45. 跳跃游戏 IIPython
  • mysql5.8 免安装版(压缩包)win10 安装
  • STM32-HAL库06-硬件IIC驱动FM24CL16B非易失存储器
  • python-wordcloud词云
  • 单元测试与自测
  • 2023-09-12 LeetCode每日一题(课程表 IV)
  • RabbitMQ基础
  • ITIL 4—创建、交付和支持—创建、交付和支持服务的价值流
  • 微信怎么给自己发消息
  • 正交试验设计法
  • Scrum工具:助力快速迭代和高效交付
  • 通过Python行命令搭建HTTP服务器结合内网穿透实现外网访问
  • Android T 窗口层级其三 —— 层级结构树添加窗口