整合接口文档工具swagger

技术博客 (240) 2023-11-12 09:01:01

Swagger接口管理工具可方便开发测试和前后联调,集成起来也很方便。

引入依赖

<!--swagger, 若没有parent项目,额外添加版本标签-->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
</dependency>
<!--swagger ui-->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
</dependency>

配置类

@Configuration
@EnableSwagger2
public class Swagger2Config {

    @Bean
    public Docket AdminapiConfig(){
        return new Docket(DocumentationType.SWAGGER_2).groupName("管理员Api")
// 接口文档分组,过滤接口,选择-路径-正则表达式
                .apiInfo(adminApiInfo()) //自定义方法,描述展示信息
                .select()
                .paths(Predicates.and(PathSelectors.regex("/admin/.*")))
                .build();
    }
// 文档信息展示
    private ApiInfo adminApiInfo(){
        return new ApiInfoBuilder()
                .title("p2p借款平台管理员api文档")
                .description("平台管理员的api接口展示")
                .version("1.0")
                .contact(new Contact("Skiray","https://blog.csdn.net/CC1770374/","Skiray.foxmail.com"))
                .build();
    }

    @Bean
    public Docket WebapiConfig(){
        return new Docket(DocumentationType.SWAGGER_2).groupName("普通Api")
                .apiInfo(webApiInfo())
                .select()
                .paths(Predicates.and(PathSelectors.regex("/api/.*")))
                .build();
    }
    private ApiInfo webApiInfo(){
        return new ApiInfoBuilder()
                .title("p2p借款平台普通用户api文档")
                .description("平台普通用户的api接口展示")
                .version("1.0")
                .contact(new Contact("Skiray","https://blog.csdn.net/CC1770374/","Skiray.foxmail.com"))
                .build();
    }
}

接口

@Api(tags = "积分管理")
@CrossOrigin //允许跨域请求,测试用
@RestController
@RequestMapping("admin/core/integralGrade")
public class AdminIntegralGradeController {

    @Resource
    private IntegralGradeService integralGradeService;

    @ApiOperation("获取积分列表")
    @GetMapping("/list")
    public List<IntegralGrade> listAll(){
        return integralGradeService.list();
    }

    @ApiOperation(value = "根据id删除积分数据", notes = "逻辑删除积分记录")
    @DeleteMapping("remove/{id}")
    public boolean deleteById( @PathVariable @ApiParam(value = "数据id",example = "100",required = true) Long id ){
        return integralGradeService.removeById(id);
    }

}

注解

实体类

@ApiModel(value = "" ,description = "") // 实体类名称


@ApiModelProperty(value = "",example = " ") //实体类性名

Controller

@Api(tags = "") //接口的名称描述 ,以单个Controller文件为一组

@ApiOperation(value = "根据id删除积分数据", notes = "逻辑删除积分记录")//单个接口的描述

@ApiParam(value = "数据id",example = "100",required = true) //接口参数描述

展示

整合接口文档工具swagger (https://mushiming.com/) 技术博客 第1张

THE END

发表回复