Spring Boot 简单配置swagger
- 需要导入需要的依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
其中的ui还有其他的可以替换为
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.0</version>
</dependency>
- 添加swagger 的配置
import com.google.common.collect.Lists;
import org.springframework.beans.factory.annotation.Value;
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.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.List;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Value("${swagger.flag}")
private boolean flag;
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("API接口文档")
.description("项目或者文档描述")
.version("1.0.0")
.build();
}
@Bean
public Docket createRestApi() {
ParameterBuilder ticketPar = new ParameterBuilder();
List<Parameter> pars = Lists.newArrayList();
ticketPar.name("token").description("user token")
.modelRef(new ModelRef("string")).parameterType("header")
.required(false).build(); //添加api的固定参数,传空也可以
pars.add(ticketPar.build()); //根据每个方法名也知道当前方法在设置什么参数
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.enable(flag)//swagger是否可用
.select()
.apis(RequestHandlerSelectors.basePackage("com.demo.*")) //这里写的是API接口所在的包位置
.paths(PathSelectors.any())
.build()
.globalOperationParameters(pars);
}
}
- 在需要生成文档的接口添加接口的配置,如下实例
@Api(value = "用户操作",tags="用户操作模块")
public class UserController {
...
@ApiOperation(value = "用户信息查询", response = UserVO.class)
@ApiImplicitParams({
@ApiImplicitParam(paramType = "query", name = "pageNum", dataType = "int", required = true, value = "页码(第几页)", defaultValue = "1"),
@ApiImplicitParam(paramType = "query", name = "pageSize", dataType = "int", required = true, value = "单页条数", defaultValue = "10")
})
public UserVOgetUser(@RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize ){
...
}
}
@Data
public class UserVO{
@ApiModelProperty(value = "主键id")
private Long id;
@ApiModelProperty(value = "名称")
private String name;
@ApiModelProperty(value = "年龄")
private Integer age;
...
}
基本的配置使用就是这些,
更多的swagger 使用可以尝试在网上搜索。

本文档介绍了如何在SpringBoot项目中集成Swagger2,包括添加依赖、配置 Swagger、创建Docket bean,以及在Controller中添加注解来生成API接口文档。通过Swagger2,可以方便地生成和展示RESTful API接口的详细说明,提高开发效率。
2983

被折叠的 条评论
为什么被折叠?



