Knife4j---swagger的进阶版

用原始的swagger,可嫩滑对于封装map和实体类,jsaonobject的参数不太方便,但是,用knofe4j就可以实现了

查看路径:http://localhost:8181/sa/doc.html

1. pom依赖

<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>2.0.8</version>
</dependency>

2.配置

@Configuration
@EnableSwagger2WebMvc
public class SwaggerConfig {
    @Bean(value = "api")
    public Docket defaultApi2() {
        Docket docket=new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .description("# 文档的描述")
                        .version("1.0")
                        .build())
                //分组名称
                .groupName("1.X版本")
                .select()
                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.ify.sampleAdmin.web.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
}

3.使用

@RestController
@RequestMapping("/user")
@Api(tags = "用户模块")
public class UserController extends BaseController {
    @GetMapping("/user")
    @ApiOperation(value = "获取根据ID获取用户")
    @ApiImplicitParam(name = "id",value = "用户id",required = true)
    public ResResult getUser(@RequestParam(value = "id") String id) {
        return ResResult.success();
    }
}

4.注解介绍

@Api(tags = “”):接口分组
@ApiOperation(value = “”):接口名称
@ApiImplicitParam(name = “id”,value = “用户id”,required = true):接口参数声明
// 提供了过滤和包含参数的注解,可以排除或包含必须参数来简洁文档(用在实体类上)。
@ApiOperationSupport(ignoreParameters = {"id","orderDate.id"})
@ApiOperationSupport(order = 40,includeParameters = {"ignoreLabels","longUser.ids"})

// 传递参数都是Map或者JSONObject
@DynamicParameters(properties = {
        @DynamicParameter(name = "id",value = "ID",example = "X000111",required = true,dataTypeClass = String.class),
        @DynamicParameter(name = "username",value = "用户名",required = true),
        @DynamicParameter(name = "password",value = "密码",required = true),
        @DynamicParameter(name = "sex",value = "性别",required = false),
})

Guess you like

Origin blog.csdn.net/LC_Liangchao/article/details/121500142