接口服务
组件编码
hzero-interface
概述
接口平台服务主要提供了服务注册、认证配置、接口透传、协议转换、接口监控、文档配置及生成、测试用例、健康状态检查等功能。
组件坐标
- OP版本
<dependency>
<groupId>org.hzero</groupId>
<artifactId>hzero-interface</artifactId>
<version>${hzero.service.version}</version>
</dependency>
- SaaS版本
<dependency>
<groupId>org.hzero</groupId>
<artifactId>hzero-interface-saas</artifactId>
<version>${hzero.service.version}</version>
</dependency>
功能特性
接口配置
- 服务注册: 注册服务、接口, 配置服务级别的认证信息; 以及配置接口的运维信息、文档、测试用例等管理信息
- 接口能力汇总: 汇总展示平台通用接口能力以及本租户内的接口能力, 并标识自己所拥有的接口能力; 无权限的接口能力可通过接口文档查看接口信息; 有权限的接口能力可配置不同维度的认证信息
接口授权
- 角色授权: 将接口能力授权给角色
- 客户端授权: 将角色授权给客户端
接口运维
- 接口监控: 可监控接口调用详情信息
- 健康状况监控: 配置健康检查功能后, 可通过此处查看近期健康检查的异常情况
前提条件
- 依赖hzero-oauth版本0.8.3以上, 影响客户端授权
- 依赖hzero-gateway-helper版本0.8.3以上, 影响HZERO API通过客户端方式调用的校验逻辑
- 依赖hzero-iam前端需要0.8.3以上, 影响HZERO API通过客户端方式调用时的客户端授权
- 本接口平台发布的Rest API当前仅接受两种Content-Type:
application/json;charset=UTF-8
: 目标API无文件类型的参数multipart/form-data
: 目标API存在文件类型参数的情况
- 依赖客户端组件
<dependency>
<groupId>org.hzero.boot</groupId>
<artifactId>hzero-boot-interface</artifactId>
<version>${hzero.boot.version}</version>
</dependency>
安装
- 首先初始化groovy表结构脚本
- 其次初始化相关基础数据: 值级、值级视图、菜单、权限集、管理员角色权限等基础数据, 参考
hzero-resource
- 运行
# mvn spring-boot:run
使用
- 功能使用: 注册服务并授权即可。
- 客户端使用: 可通过SDK直接调用接口平台接口。
约束限制
- 测试用例尚不支持目标API携带文件类型参数(SDK支持)
远景规划
- 测试用例支持文件类型参数
- 客户端组件可以脱离HZERO平台被外部应用直接使用
版本更新日志
后端
版本 0.10.0.RELEASE [2019-07-20]
- 初始发布
版本 0.10.1.RELEASE [2019-08-02]
- 修复了接口平台客户化,后置处理返回结果处理未生效的问题
版本 0.10.2.RELEASE [2019-08-30]
- 支持https忽略证书
- 依赖parent版本0.10.5.RELEASE
版本 0.11.0.RELEASE [2019-08-12]
- 修复了一些非功能性小bug,调优了部分代码。
版本 0.11.1.RELEASE [2019-09-06]
- 支持https忽略证书、修复soap协议命名空间构建错误以及中文乱码的问题
- hzero-boot-parent版本0.11.6.RELEASE
版本 0.11.2.RELEASE [2019-08-26]
- 修复soap头mineType报不支持的媒体类型的问题
版本 1.0.0.RELEASE [2019-09-11]
- 新加了组合接口功能
- 优化了服务认证配置、追加了test、 密码加密等功能
- 优化了SDK接口调用方式。sdk由原本的租户id调用变更为通过命名空间调用。
- 数据表结构发生变更。需要执行如下数据库SQL,然后重启服务
版本 1.0.1.RELEASE [2019-09-11]
- 修复OAUTH2认证密码模式对于校验客户端id与密钥的的服务端获取token失败的问题
- 修复了客户端通过发布地址调用接口报角色无权访问接口的问题
···
UPDATE hitf_interface_server his SET his.namespace = ( SELECT ht.tenant_num FROM hzero_platform.hpfm_tenant ht WHERE his.tenant_id = ht.tenant_id )
···
前端
版本 0.10.0 [2019-07-20]
- 初始发布
版本 0.10.1 [2019-07-25]
- 修复了服务认证信息弹框来回切换数据丢失的问题
版本 0.10.2 [2019-8-01]
- 修复了服务认证配置信息弹框Oauth2认证密码模式无获取tokenUrl的输入框问题。