在线接口调试,在线接口调试工具

4747 1292 2022-07-12


功能描述

在线接口调试的页面如上图所示,该模块的功能时将项目中的一些接口的详细信息在前端展示出来,填入相应请求参数后,可以调用相应的接口,并将返回结果展示出来。

功能实现

接口信息的收集

接口信息的收集这项功能Swagger已经为我们实现了,我们只需要定义好Swagger配置文件,指定我们要收集哪些接口的信息,Swagger就会自动帮我们这方面的信息。在Swagger配置文件(本项目中是com.ecidi.config.Swagger2Config)中,通过@Bean工厂方法,可以通过某种条件将若干接口划分为一组,并为它取一个组名。定义好之后,Swagger就会为我们收集该组内的接口。示例代码如下所示,其中的重点在于:

  1. 通过groupName()方法为该组取一个组名,如果没有设置组名,则会取默认组名"default"

  2. 对项目中的接口进行筛选,满足条件的添加到组内。共有两种方法对接口进行筛选:
    1). RequestHandlerSelectors提供了按照接口的注解、所在包的路径等方法对接口进行筛选的方法
    2).PathSelectors提供了根据url路径对接口进行筛选的方法
    所有筛选条件都是并集的关系,也就是必须同时满足才会被选中。

@Bean("allApi")public Docket createRestApiForAll() {
    return (new Docket(DocumentationType.SWAGGER_2))
            .apiInfo(this.metaInfo()).select()
            .apis(RequestHandlerSelectors.basePackage("com.ecidi.modules"))
            .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
            .paths(PathSelectors.any()).build()
            .globalOperationParameters(this.getParam());}@Bean("dataApi")public Docket createRestApiForData() {
    return (new Docket(DocumentationType.SWAGGER_2).groupName("data"))
            .apiInfo(this.metaInfo()).select()
            .apis(RequestHandlerSelectors.basePackage("com.ecidi.modules"))
            .apis(RequestHandlerSelectors.withMethodAnnotation(DebugApi.class))
            .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
            .paths(PathSelectors.any()).build()
            .globalOperationParameters(this.getParam());}@Bean("tokenApi")public Docket createRestApiForLogin() {
    return (new Docket(DocumentationType.SWAGGER_2).groupName("token"))
            .apiInfo(this.metaInfo()).select()
            .apis(RequestHandlerSelectors.basePackage("com.ecidi.modules"))
            .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
            .paths(PathSelectors.ant("/sys/loginForToken"))
            .build()
            .globalOperationParameters(this.getParam());}

可以同时定义多个组,定义好之后,就能在Swagger界面上看到分组的信息,如下图所示。

我们也可以直接通过调用接口来获得这些接口信息,接口的ur是 http://{hostIp}:{port}/ecidi-cmp/v2/api-docs?group={groupName}
使用时只需要把hostIpport换成项目服务器的IP地址和端口,groupName换成对应的组名即可。

发送HTTP请求

API界面功能布局

image.png

API请求参数

Header 参数

你可以设置或者导入 Header 参数,cookie也在Header进行设置

image.png


Query 参数

Query 支持构造URL参数,同时支持 RESTful 的 PATH 参数,如图 :id

image.png


等同于

URL上的 :id 表示会被Query上的 id 参数值替换掉

Body 参数

Body 提供三种类型 form-data / x-www-form-urlencoded / raw ,每种类型提供三种不同的UI界面

1)当你需要提交表单时,切换到 x-www-form-urlencoded

image.png


2)当你需要提交有文件的表单时,切换到 form-data

image.png


3)当您需要发送JSON对象时时,切换到raw类型即可

image.png

API 返回

点击发送按钮后,如果有数据返回,则会显示

返回数据,响应时间,响应码,返回数据大小

image.png

返回Headers

image.png


返回数据默认是Pretty模式,便于查看 JSON XML 格式。您可以通过切换 Raw 或 Preview 模式 查看其它类型的类型

后记:

Apizza 不仅仅可以在线调试接口,还有其他方便接口开发的功能

比如一键生成文档 ,自定义开发生产环境变量,自动生成代码,自定义测试用例,Markdown文档等等丰富的功能。非常方便


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:广告情报局:为爱做饭,在小红书看到最好的故事!
下一篇:数英DIGITALING:女性营销怎么做?雅诗兰黛用口红大片破题!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~