前言
本文仅代表作者的个人观点;
本文的内容仅限于技术探讨,不能作为指导生产环境的素材;
本文素材是红帽公司产品技术和手册;
本文分为系列文章,将会有多篇,初步预计将会有26篇。
一、3 scale的portal
Red Hat 3scale API Management中托管了两个门户:
管理门户:
API BizOps | Add/invite developers, approve accounts and applications, and contact developers |
---|---|
Access control | Define API, create plans, set up rate limits and pricing rules |
Accounts | Manage administrator and member rights to use Admin Portal |
Analytics | Report API performance insights |
API DevOps | REST API for administrator, automating deployments |
API documentation | Document Swagger API using 3scale ActiveDocs |
Developer Portal CMS | Create and customize Developer Portal |
Billing | Integrate payment gateways and invoicing |
3 Scale业务运营
API JSON规范,基于Swagger 2.0
3scale中的服务规范:
3scale开发人员门户
由Red Hat 3scale API Management托管
提供3scale内容管理系统(CMS)以快速创建自定义门户
默认开发人员门户开箱即用
内置页面包含HTML,CSS,JavaScript元素
用于在门户上处理和显示数据的液体标签
验证选项:
二、通过Swagger生成json文件
为Red Hat 3scale API Management管理的API创建API文档,了解Developer Portal和自定义,并探索3scale的其他基于角色的访问控制功能。
我将为在上一个模块中创建的API生成并测试ActiveDocs文档。
ActiveDocs并不是Swagger的替代者; 它是一个实例。 使用ActiveDocs,不必运行自己的Swagger服务器或处理交互式文档的UI组件。 交互式文档由3scale Developer Portal提供和呈现。
访问我在系列第一篇文章中创建的web api的swagger文件:
[root@master ~]# echo http://products-$OCP_PROJECT_PREFIX.$OCP_WILDCARD_DOMAIN/rest/swagger.yaml
http://products-david.apps.example.com/rest/swagger.yaml
通过swagger.io在线工具导入这个文件:
在YAML编辑器中,进行以下更改:
第6行:将主机更改为您的products-apicast-staging路由端点 :
第11行:将方案更改为https。
第24行:添加以下行以添加用户密钥
上面的配置代码段将扩充Products API文档,并指示需要user_key字段。并且,通过x-data-threescale-name配置,当从API文档调用此服务时,此字段将自动填充用户的实际API密钥。
在第50行、74行、99行增加key认证:
选择文件→转换并另存为JSON
三、通过json文件创建service
使用ActiveDocs创建文档:
(确认URL的方法:echo -en "\n\n`oc get route system-developer-route -n $OCP_PROJECT_PREFIX-3scale-amp --template "https://{{.spec.host}}"`\n\n")
创建一个新的描述:
在API JSON Spec*部分,将刚刚生成的json文件内容拷贝进去
点击create service:
测试ActiveDocs API和文档
单击“获取所有产品”以展开该方法。
转到“参数”部分。
单击user_key值字段。
选择ProductsApp用户密钥。
点击试用:
得到返回信息:
四、自定义Developer Portal
我们下载两个logo,用于自定义开发者界面。
RHMartBackground.jpg
RHMartLogo.png
密码登录Red Hat管理员门户的3scale。
单击Developer Portal选项卡,然后单击New Page→New File:
上传第二个文件:
更改HTML / CSS
选择main layput:
将第46行的内容:
用如下内容替换:
修改第三行内容,将echo换成RHMart
将第12行修改为如下内容:
选择homepage:
转到HTML编辑器,并在第19,98和112行中对RHMart执行搜索和替换Echo
用以下内容替换第5行:
修改CSS:
将第22行替换成:
发布5个变更:
页面验证:
成功跳转:
单击右上角的“登录”,然后使用第一个实验中,我创建的rhbankdev用户登录。
在主页上,浏览“应用程序”,“统计信息”和“凭据”部分。
登录成功:
单击文档。 请注意,显示了之前创建的ActiveDocs文档。
您可以从此页面测试API请求:
发起API请求,请求成功:
魏新宇