在线接口调试,在线接口调试工具
功能描述
在线接口调试的页面如上图所示,该模块的功能时将项目中的一些接口的详细信息在前端展示出来,填入相应请求参数后,可以调用相应的接口,并将返回结果展示出来。
功能实现
接口信息的收集
接口信息的收集这项功能Swagger已经为我们实现了,我们只需要定义好Swagger配置文件,指定我们要收集哪些接口的信息,Swagger就会自动帮我们这方面的信息。在Swagger配置文件(本项目中是com.ecidi.config.Swagger2Config
)中,通过@Bean工厂方法,可以通过某种条件将若干接口划分为一组,并为它取一个组名。定义好之后,Swagger就会为我们收集该组内的接口。示例代码如下所示,其中的重点在于:
通过
groupName()
方法为该组取一个组名,如果没有设置组名,则会取默认组名"default"对项目中的接口进行筛选,满足条件的添加到组内。共有两种方法对接口进行筛选:
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}
使用时只需要把hostIp
和port
换成项目服务器的IP地址和端口,groupName
换成对应的组名即可。
发送HTTP请求
API界面功能布局
API请求参数
Header 参数
你可以设置或者导入 Header 参数,cookie也在Header进行设置
Query 参数
Query 支持构造URL参数,同时支持 RESTful 的 PATH 参数,如图 :id
等同于
URL上的 :id 表示会被Query上的 id 参数值替换掉
Body 参数
Body 提供三种类型 form-data / x-www-form-urlencoded / raw ,每种类型提供三种不同的UI界面
1)当你需要提交表单时,切换到 x-www-form-urlencoded
2)当你需要提交有文件的表单时,切换到 form-data
3)当您需要发送JSON对象时时,切换到raw类型即可
API 返回
点击发送按钮后,如果有数据返回,则会显示
返回数据,响应时间,响应码,返回数据大小
返回Headers
返回数据默认是Pretty模式,便于查看 JSON XML 格式。您可以通过切换 Raw 或 Preview 模式 查看其它类型的类型
后记:
Apizza 不仅仅可以在线调试接口,还有其他方便接口开发的功能
比如一键生成文档 ,自定义开发生产环境变量,自动生成代码,自定义测试用例,Markdown文档等等丰富的功能。非常方便
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~