前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >通过Swagger生成的Json创建Service&自定义开发者界面 | API Management学习第三篇

通过Swagger生成的Json创建Service&自定义开发者界面 | API Management学习第三篇

作者头像
魏新宇
发布2018-07-30 14:48:58
3.8K0
发布2018-07-30 14:48:58
举报

前言

本文仅代表作者的个人观点;

本文的内容仅限于技术探讨,不能作为指导生产环境的素材;

本文素材是红帽公司产品技术和手册;

本文分为系列文章,将会有多篇,初步预计将会有26篇。

一、3 scale的portal

Red Hat 3scale API Management中托管了两个门户:

  • 管理门户:用于管理,API和帐户管理
  • 品牌开发者门户网站:用于公开开发人员注册和API文档

管理门户:

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 Documentations

API JSON规范,基于Swagger 2.0

3scale中的服务规范:

  • Name
  • System name
  • Publish (visible or hidden)
  • Description
  • API JSON specification

3scale开发人员门户

由Red Hat 3scale API Management托管

提供3scale内容管理系统(CMS)以快速创建自定义门户

默认开发人员门户开箱即用

内置页面包含HTML,CSS,JavaScript元素

用于在门户上处理和显示数据的液体标签

验证选项:

  • 用户名和密码
  • GitHub上
  • Auth0
  • 红帽单点登录

二、通过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请求,请求成功:

魏新宇

  • 红帽资深解决方案架构师
  • 专注开源云计算、容器及自动化运维在金融行业的推广
  • 拥有MBA、ITIL V3、Cobit5、C-STAR、TOGAF9.1(鉴定级)等管理认证。
  • 拥有红帽RHCE/RHCA、VMware VCP-DCV、VCP-DT、VCP-Network、VCP-Cloud、AIX、HPUX等技术认证。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大魏分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • API Documentations
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档