现在后端比较流行的框架是spring boot。使用spring boot集成swagger也非常方便。这里我们先来看看ssm整合Swagger。
- 导入依赖
spring和swagger之间存在版本问题。版本不对应配置完成后可能会出现500错误(网上看到的)。这里使用spring版本5.1.0,swagger版本2.4.0。大家可以参考。有些同学仅添加了前两个依赖也会报500错误。
<!-- swagger2核心依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.4.0</version>
</dependency>
<!-- swagger-ui为项目提供api展示及测试的界面 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.4.0</version>
</dependency>
<!--springfox依赖的jar包;如果你的项目中已经集成了无需重复-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml</groupId>
<artifactId>classmate</artifactId>
<version>1.2.0</version>
</dependency>
- 编写配置类
package com.fh.fund.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
@Configuration
@EnableSwagger2
@EnableWebMvc
public class SwaggerConfig {
//配置swagger的docket的bean实例
@Bean
public Docket webApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webapi")
.apiInfo(webApiInfo())
.enable(true)
.select()
//需要扫描的控制类包
.apis(RequestHandlerSelectors.basePackage("com.demo.ssm.controller"))
.build();
}
//配置swagger信息
private ApiInfo webApiInfo(){
return new ApiInfoBuilder()
.title("标题")
.description("描述")
.version("1.0")
.termsOfServiceUrl("https://blog.youkuaiyun.com/ITarmi?spm=1000.2115.3001.5343")
.contact(new Contact("作者名字", "https://blog.youkuaiyun.com/ITarmi?spm=1000.2115.3001.5343", "邮箱"))
.license("Apache 2.0")
.licenseUrl("http://www.apache.org/licenses/LICENSE-2.0")
.build();
}
}
-
下载swagger-ui资源
链接: https://pan.baidu.com/s/19WpQGdLlIJ2OeghMVcpFpw
提取码: tgij
下载后在webapp文件夹下新建swagger文件夹,将下载文件中dist文件夹中的所有资源复制到swagger文件夹下
-
配置springmvc配置文件
在springmvc配置文件中添加即可。
<!--将SwaggerConfig配置类注入-->
<bean class="com.demo.ssm.config.SwaggerConfig"/>
<!--配置swagger资源不被拦截-->
<mvc:resources mapping="/swagger/**" location="/swagger/"/>
-
修改url
将webapp/swagger文件夹中的index.html中的url修改为"/v2/api-docs"
-
运行项目,访问swagger
http://localhost:端口号/swagger-ui.html(推荐)
http://localhost:端口号/swagger/index.html
如有疑问可留言讨论