项目地址: https://github.com/sharemen/api-admin
本项目是以XXL-API v1.1.1 为基础进行二次开发的 原始项目地址:https://github.com/xuxueli/xxl-api
在原功能基础之上增加了:
- 独立DEV环境的接口根地址
- 默认添加guest账号,以支持访客模式访问(只可以运行接口测试,添加mock数据),用于给业务端,客服人员使用
- 增加API 请求参数备注,响应结果参数备注,依赖资源 属性
- 增加API修改历史的记录,显示创建人,最后修改人
- 增加mock url适配,可以通过/mock/run/{API URL}来这直接访问对应API的默认mock数据(可以指定),方便前端的团队进行mock测试统一配置
- 增加对于Apollo配置中心的接入支持(配置可选)
- 增加API自动生成wiki文档的支持 Atlassian Confluence,并可以通过改resources/templates/wiki/api.wikitemplate.ftl来调整生成格式(配置可选)
功能使用说明
- 创建业务线
API的体系是:业务线/项目/分组/接口
- 创建项目
根地址就是API的host,分为:线上、预发布、测试、开发,可以根据不同的情况填写
后面在接口测试时,实际会使用对应环境的{host}+{apiurl} 发起请求
点击进入项目,进行该项目的接口管理
- 创建分组
接口支持分组,如果不选择则会使用默认分组,建议按照"业务领域"划分接口,进行接口的维护,管理
- 创建接口
- 接口基本信息
如果开启了自动wiki同步功能 org.s.apiadmin.enableSyncWiki = 1
则接受指定父级wiki地址(接口wiki会自动发布成为这个URL的子页面)或 当前API对应的wiki地址(接口wiki会自动更新的地址对应的页面)
指定API对应的wiki地址优先于父级wiki地址被使用。
如果都不填写,wiki页面会自动发布到默认的wiki空间根目录下,即{org.s.apiadmin.wikidefaultspace}配置项的值
另外要注意的是,确保org.s.apiadmin.wikiuser 配置的wiki用户有权限操作指定的wiki空间(添加\修改\查询)
- 接口测试
、
添加完接口后可以通过“接口详情页”的 按钮 接入接口测试界面
这里要特别说明2点:
- 如果当前接口是通过request parameter 就接受参数的,要将默认使用request body这个选项取消,如果是直接body重的JSON内容这种的就要勾选中
- 公司内部接口一般都有鉴权,所以会有自动获取测试token的选项,勾选它代表,这个请求需要执行鉴权,在XxlApiTestController的
run(XxlApiTestHistory, HttpServletRequest, HttpServletResponse)
预留了登录访问接口的方法,这部分逻辑需要自行实现
/**
* 实现网关登录调用 公司自己有接口网关需要登录时使用
* @param remoteRequest
* @param request
* @return
*/
private String remoteCallWtihLogin(HttpRequestBase remoteRequest,HttpServletRequest request,Map<String, Object> queryParamMap) {
String responseContent = null;
//TODO 实现接口网关登录逻辑
responseContent = remoteCall( remoteRequest );
return responseContent;
}
- 添加mock
同样是通过"接口详情页"的按钮 添加mock数据
创建的第一条mock数据,会作为该接口的默认mock数据,可以通过 http://{apiadmin-host}/api-admin/mock/run/{apiurl} 直接访问
apiadmin-host为当前接口管理系统的访问host
这样可以便于前端代码在调试统一动态配置获取对应的接口的mock数据
如果有多条mock数据,可以通过点击对应mock数据的 “设为默认” 链接来设置接口mock数据的默认值
想要访问某个特定的mock状态数据,只需要访问点击"运行"打开的URL即可。