开源免费API管理系统

项目地址: https://github.com/sharemen/api-admin

本项目是以XXL-API v1.1.1 为基础进行二次开发的 原始项目地址:https://github.com/xuxueli/xxl-api

在原功能基础之上增加了:

  1. 独立DEV环境的接口根地址
  2. 默认添加guest账号,以支持访客模式访问(只可以运行接口测试,添加mock数据),用于给业务端,客服人员使用
  3. 增加API 请求参数备注,响应结果参数备注,依赖资源 属性
  4. 增加API修改历史的记录,显示创建人,最后修改人
  5. 增加mock url适配,可以通过/mock/run/{API URL}来这直接访问对应API的默认mock数据(可以指定),方便前端的团队进行mock测试统一配置
  6. 增加对于Apollo配置中心的接入支持(配置可选)
  7. 增加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点:

  1. 如果当前接口是通过request parameter 就接受参数的,要将默认使用request body这个选项取消,如果是直接body重的JSON内容这种的就要勾选中
  2. 公司内部接口一般都有鉴权,所以会有自动获取测试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即可。

猜你喜欢

转载自blog.csdn.net/windywolf301/article/details/105843066