springboot整合swagger3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
springboot整合swagger3
1、添加依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
2、添加配置⽂件
package com.tancheng.data.config;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiOperation;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.ParameterBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.oas.annotations.EnableOpenApi;
import springfox.documentation.schema.ModelRef;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Parameter;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.ArrayList;
import java.util.List;
@Configuration
@EnableOpenApi
public class Swagger3Configration {
/**
* 通过 createRestApi函数来构建⼀个DocketBean
* 函数名,可以随意命名,喜欢什么命名就什么命名
*/
@Bean
public Docket createRestApi() {
ParameterBuilder tokenPar = new ParameterBuilder();
List<Parameter> pars = new ArrayList<>();
("token").description("token").modelRef(new ModelRef("string")).parameterType("header").required(false).build(); pars.add(tokenPar.build());
return new Docket(DocumentationType.OAS_30)
// .globalOperationParameters(pars)
.apiInfo(apiInfo())//调⽤apiInfo⽅法,创建⼀个ApiInfo实例,⾥⾯是展⽰在⽂档页⾯信息内容
.select()
//控制暴露出去的路径下的实例
//如果某个接⼝不想暴露,可以使⽤以下注解
//@ApiIgnore 这样,该接⼝就不会暴露在 swagger2 的页⾯下
.apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
.paths(PathSelectors.any())
.build();
}
//构建 api⽂档的详细信息函数
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
//页⾯标题
.title("Spring Boot Swagger3 构建RESTful API")
//条款地址
.termsOfServiceUrl("http://despairyoke.github.io/")
.version("1.0")
//描述
.description("API 描述")
.build();
}
}
3、访问地址
4、swagger3和swagger2的区别。