SpringBoot_Swagger


SpringBoot_Swagger

第一步

  • pom.xml 添加对应的架包
<dependencies>
    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-boot-starter</artifactId>
        <version>3.0.0</version>
    </dependency>

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

第二步

  • 定义配置类
/**
 * 自定义 Swagger 的配置
 */
@Configuration
@EnableOpenApi // 启用 Swagger3
@EnableKnife4j // 开启 knife4j
public class SwaggerConfig {
    @Bean
    public Docket openApi() {
        return new Docket(DocumentationType.OAS_30)
                .groupName("Test Group")
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Swagger API")
                .description("Test Api")
                .contact(new Contact("test", "http://swagger.com", "swagger@gmail.com"))
                .version("1.0")
                .build();
    }
}

第三步

  • 定义实体类
/**
 * 自定义实体类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "用户实体类") // 实体类上使用
public class UserParam implements Serializable {

    @ApiModelProperty(value = "ID") // 实体类的属性上使用
    private Integer id;
    @ApiModelProperty(value = "姓名")
    private String name;
    @ApiModelProperty(value = "性别")
    private String sex;
}

第四步

  • 定义访问接口
/**
 * 定义请求方法
 */
@Api(value = "UserController") // 使用在请求的实体类上,对类的说明
@RestController
@RequestMapping("/user")
public class UserController {

    @PostMapping("/add")
    @ApiOperation("新增方法") // 对接口的说明
    @ApiImplicitParam(name = "userParam", type = "Body", dataTypeClass = UserParam.class, required = true) // 对请求参数的说明
    public Boolean add(@RequestBody UserParam userParam) {
        return true;
    }

    @PostMapping("/list")
    @ApiOperation("查询方法") // 对接口的说明
    public List<UserParam> getList() {
        List<UserParam> list = new ArrayList<>();
        UserParam userParam = new UserParam(1, "ka", "男");
        list.add(userParam);
        return list;
    }
}

文章作者: L Q
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 L Q !
  目录