SSM项目配置Swagger以及遇到问题的解决
Posted 被雨遗忘的夏天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSM项目配置Swagger以及遇到问题的解决相关的知识,希望对你有一定的参考价值。
目录
一、 Maven引入依赖
<!-- Swagger 配置 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.7.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.7.0</version>
</dependency>
二、相应的配置文件处理,指向swagger配置类
<!-- Swagger配置 -->
<bean name="applicationSwaggerConfig" class="com.lishaoyu.BookReview.utils.SwaggerConfig"/>
三、 swagger配置类
package com.lishaoyu.BookReview.utils;
/**
* @className: SwaggerConfig
* @author: lsy
* @description: swagger配置类
* @date: 2021/8/11 16:16
* @version: 1.0
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.genericModelSubstitutes(DeferredResult.class)
.useDefaultResponseMessages(false)
.forCodeGeneration(false)
.pathMapping("/")
.select()
.apis(RequestHandlerSelectors.basePackage("com.lishaoyu.BookReview.controller"))
.paths(PathSelectors.any())
.build()
.apiInfo(apiInfo());
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("api文档")
.description("简单优雅的restfun风格")
.version("1.0")
.build();
}
}
四、 遇到的问题
4.1 图片显示
4.2 错误提示信息
java.lang.IllegalStateException: Failed to introspect Class [com.lishaoyu.BookReview.utils.SwaggerConfig] from ClassLoader [ParallelWebappClassLoader
context: ROOT
delegate: false
----------> Parent Classloader:
java.net.URLClassLoader@26f0a63f
]
Caused by: java.lang.NoClassDefFoundError: springfox/documentation/service/ApiInfo
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.getDeclaredMethods(Class.java:1975)
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:463)
... 40 common frames omitted
Caused by: java.lang.ClassNotFoundException: springfox.documentation.service.ApiInfo
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1328)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1157)
... 44 common frames omitted
4.3 原因
虽然maven那里没有报错,但是很显然是没有加载到Swagger类,分析后,应该是工程没有引入新增的jar包!老毛病了!
4.4 解决
五、 测试
5.1 运行成功
5.2 接口测试
@Api(tags = "BookController")
@Controller
public class BookController {
/**
* 显示首页
* @return
*/
@ApiOperation(value = "显示首页")
@GetMapping("/")
public ModelAndView showIndex(){
ModelAndView mav = new ModelAndView("/index");
List<Category> categoryList = categoryService.selectAll();
mav.addObject("categoryList", categoryList);
return mav;
}
}
以上是关于SSM项目配置Swagger以及遇到问题的解决的主要内容,如果未能解决你的问题,请参考以下文章
登录综合案例02,退出完善,菜单权限,以及遇到的一些问题,前端使用vue+elementui+axios 后端 springboot+mybatis-plus+swagger2,
SSM面向CRUD编程专栏 3关于黑马程序员最全SSM框架教程视频,P37集老师跳过的模块创建以及tomcat下载安装配置和运行等诸多问题