控制服务能力状态的有条件迁移,并能够通过服务状态的迁移控制服务是否可以访问。
使用该功能需要在“配置管理 > 拦截器管理”页面中勾选【API状态】选项。使用该拦截器时,客户端工具或者程序中需要给 header 中增加两个重要参数:ClientId 和 OperationCode,如果缺失则调用失败,同时 Server 后台会输出:The ServCode is null.
- 管理人员登录系统,进入管理门户,点击菜单“访问安全”>“API状态”,打开API状态管理界面。
- 选择一个接口,在操作列点击按钮,改变接口状态。
1. 启动
选择已注册状态的服务,单击“启动”,服务状态变为“已发布”。
当服务状态为“已注册”时发生的调用会被拒绝,同时 APIGateway ESBServer 后台会输出:
The ServCode:'此处为服务提供者接口名称' status: 1(unpublished) , reject continue process.
2. 暂停
选择已发布状态的服务,单击“暂停”,服务状态变为“已暂停”。
当服务状态为“已发布”时发生的调用会成功,同时APIGateway ESBServer 后台会输出:
The ServCode:'此处为服务提供者接口名称' status: com.primeton.esb.governance.service.policy.manage.impl.ServiceStatusPolicyData$ServiceStatus@3533e4f0(published) , allow continue process.
3. 恢复
选择已暂停状态的服务,单击“恢复”,服务状态变为“已发布”。
当服务状态为“已暂停”时发生的调用会被拒绝,同时 APIGateway ESBServer 后台会输出:
The ServCode:'此处为服务提供者接口名称' status: 3(unpublished) , reject continue process.
4. 注销
选择“已暂停”状态的服务,单击“注销”,服务状态变为“已注销”,注销后不能再恢复,如果需要重新发布则要在接口注册管理中删除原有的,重新添加。
当服务状态为“已注销”时发生的调用会被拒绝,同时 APIGateway ESBServer 后台会输出:
The ServCode:'此处为服务提供者接口名称' status: 3(unpublished) , reject continue process.