栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

用 Swagger 测试任务分配问题中的 API

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用 Swagger 测试任务分配问题中的 API

一 Swagger2 介绍 1 什么是swagger2

编写和维护接口文档是每个程序员的职责,根据 Swagger2 可以快速帮助我们编写最新的 API 接口文档,再也不用担心开会前仍忙于整理各种资料了,间接提升了团队开发的沟通效率。

2 常用注解

swagger 通过注解表明该接口会生成文档,包括接口名、请求方法、参数、返回信息的等等。

  • @Api:修饰整个类,描述 Controller 的作用

  • @ApiOperation:描述一个类的一个方法,或者说一个接口

  • @ApiParam:单个参数描述

  • @ApiModel:用对象来接收参数

  • @ApiModelProperty:用对象接收参数时,描述对象的一个字段

  • @ApiImplicitParam:一个请求参数

  • @ApiImplicitParams:多个请求参数

二 Swagger2 集成 1 项目整合 Swagger2

在 common 模块 pom.xml 引入依赖


    io.springfox
    springfox-swagger2


    io.springfox
    springfox-swagger-ui

说明:在 sdgt-parent 中的 pom.xml 中添加了版本控制,这里不需要添加版本。

2  添加 swagger2 配置类

在 service-util 模块添加配置类

@Configuration
@EnableSwagger2
public class Swagger2Config {
    @Bean
    public Docket webApiConfig() {
        return new Docket(documentationType.SWAGGER_2)
                .groupName("webApi")
                .apiInfo(webApiInfo())
                .select()
                // 只显示api路径下的页面
                .paths(Predicates.and(PathSelectors.regex("/api/.*")))
                .build();
    }

    @Bean
    public Docket adminApiConfig() {
        return new Docket(documentationType.SWAGGER_2)
                .groupName("adminApi")
                .apiInfo(adminApiInfo())
                .select()
                // 只显示 admin 路径下的页面
                .paths(Predicates.and(PathSelectors.regex("/admin/.*")))
                .build();
    }

    private ApiInfo webApiInfo() {
        return new ApiInfoBuilder()
                .title("网站-API文档")
                .description("本文档描述了网站微服务接口定义")
                .version("1.0")
                .contact(new Contact("baiyee", "http://www.baiyee.cn/", "798103175@qq.com"))
                .build();
    }

    private ApiInfo adminApiInfo() {
        return new ApiInfoBuilder()
                .title("后台管理系统-API文档")
                .description("本文档描述了后台管理系统微服务接口定义")
                .version("1.0")
                .contact(new Contact("baiyee", "http://www.baiyee.cn/", "798103175@qq.com"))
                .build();
    }
}
3 给控制器加上 swagger 的注解
// 查询医院所有信息
@ApiOperation(value = "获取所有医院")
@GetMapping("findAll")
public Result findAllHospitalSet() {
    // 调用 service 的方法
    List list = hospitalService.list();
    return Result.ok(list);
}


// 逻辑删除医院
@ApiOperation(value = "逻辑删除医院")
@DeleteMapping("{id}")
public Result removeHospSet(@PathVariable String id) {
    boolean flag = hospitalService.removeById(id);
    if (flag) {
        return Result.ok();
    } else {
        return Result.fail();
    }
}
4 使用 swagger2 测试

a 主页面

b 查询

c 逻辑删

逻辑删后,数据库表结果

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/292336.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号