SpringBoot-Swagger2

OpenAPI 指南:https://swagger.io/docs/specification/about/
Swagger 是一组围绕 OpenAPI 规范构建的开源工具,可帮助您设计、构建、记录和使用 REST API。


依赖


<dependency>
    <groupId>io.springfoxgroupId>
    <artifactId>springfox-swagger2artifactId>
    <version>2.9.2version>
dependency>
<dependency>
    <groupId>io.springfoxgroupId>
    <artifactId>springfox-swagger-uiartifactId>
    <version>2.9.2version>
dependency>

SwaggerConfig.java

@Configuration
// 开启swagger2
@EnableSwagger2
public class SwaggerConfig {
    // Docket是swagger的bean实例
    @Bean
    public Docket docket(){
        ApiInfo apiInfo = new ApiInfo(
                "标题",
                "描述",
                "版本号",
                "组织url",
                new Contact("作者名称", "url", "邮箱"),
                "licenses",
                "licensesUrl",
                new ArrayList<>()
        );
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                // 组名称,用于切换注入的多个docket
                .groupName("group1")
                // 是否启用swagger
                .enable(true)
                .select()
                // 扫描api
                .apis(RequestHandlerSelectors
                        // 扫描包
                        .basePackage("org.example.controller")
                        // .any() // 扫描所有
                        // .none() // 不扫描
                        // .withClassAnnotation(Controller.class) // 扫描类上的注解
                        // .withMethodAnnotation(GetMapping.class) // 扫描方法上的注解
                )
                // 扫描哪些路径
                .paths(PathSelectors.ant("/**"))
                .build();
        return docket;
    }
}
SpringBoot-Swagger2_第1张图片

UserController.java

// 给本类添加注释
@Api(tags = "用户类")
@Controller
public class UserController {
    // 给方法添加注释
    @ApiOperation("获取所有用户")
    @GetMapping("/userList")
    // @ApiParam给参数添加注释
    public User getUserList(@ApiParam("参数注释") String str){
        return new User();
    }
}

实体类

// 给实体类添加注释,当类被扫描到才显示
@ApiModel("用户")
public class User {
    // 给属性添加注释,必须是public才显示
    @ApiModelProperty("id")
    public Integer id;
    @ApiModelProperty("名称")
    public String name;
}

访问:http://localhost:8080/swagger-ui.html

你可能感兴趣的:(spring,boot)