WSO2中API的生命周期及相关事件探究

探究WSO2中API的全流程与相关事件

api的生命周期状态

<p>WSO2中API的生命周期及相关事件探究</p>

  • 已创建(CREATED)
  • 预发布(PRE-RELEASED)
  • 已发布(PUBLISHED)
  • 已废弃(DEPRECATED)
  • 已冻结(BLOCKED)
  • 已退役(RETIRED)

处于已发布状态的API,能够在devportal平台被使用者访问

获取api的方式

/api/am/devportal/apis/{apiId}

{
    "id": "06bba96d-a591-4779-a7f0-ed721fb147aa",
    "name": "百度",
    "description": null,
    "context": "/baidu/v1",
    "version": "v1",
    "provider": "admin",
    "apiDefinition": "",
    "wsdlUri": null,
    "lifeCycleStatus": "PUBLISHED",
    "isDefaultVersion": false,
    "type": "HTTP",
    "transport": [
        "http",
        "https"
    ],
    "operations": [],
    "authorizationHeader": "Authorization",
    "apiKeyHeader": "ApiKey",
    "securityScheme": [
        "oauth_basic_auth_api_key_mandatory",
        "oauth2"
    ],
    "tags": [],
    "tiers": [
        {
            "tierName": "专业版",
            "tierPlan": "FREE",
            "monetizationAttributes": null
        }
    ],
    "hasThumbnail": false,
    "additionalProperties": [],
    "monetization": {
        "enabled": false
    },
    "endpointURLs": [
        {
            "environmentName": "Default",
            "environmentDisplayName": "Default",
            "environmentType": "hybrid",
            "URLs": {
                "http": "http://test-gateway-am-wso2.xxx.com/baidu/v1",
                "https": "https://test-gateway-am-wso2.xxx.com/baidu/v1",
                "ws": null,
                "wss": null
            },
            "defaultVersionURLs": {
                "http": null,
                "https": null,
                "ws": null,
                "wss": null
            }
        }
    ],
    "businessInformation": {
        "businessOwner": null,
        "businessOwnerEmail": null,
        "technicalOwner": null,
        "technicalOwnerEmail": null
    },
    "environmentList": [
        "Default"
    ],
    "scopes": [],
    "avgRating": "0.0",
    "subscriptions": 0,
    "advertiseInfo": {
        "advertised": false,
        "apiExternalProductionEndpoint": null,
        "apiExternalSandboxEndpoint": null,
        "originalDevPortalUrl": null,
        "apiOwner": "admin",
        "vendor": "WSO2"
    },
    "isSubscriptionAvailable": true,
    "categories": [],
    "keyManagers": [
        "all"
    ],
    "createdTime": "2025-06-13 05:31:24.000",
    "lastUpdatedTime": null,
    "gatewayVendor": "wso2",
    "asyncTransportProtocols": [],
    "egress": false,
    "subtype": "DEFAULT"
}

api的创建与发布

  • 发生场景:当API发布者在后台添加API后,执行“create and deploy”操作,并且在“Publish > Lifecycle”中选择“Published”状态,从而完成API的发布
  • 主题 apim
  • 条件 event.payloadData.eventType为"API_LIFECYCLE_CHANGE"且event.payloadData.event.lifecycleEvent为"Publish"
  • 需先对event.payloadData.event实体结构进行base64解码
{
    "apiName": "user-info-api",
    "apiId": 39,
    "uuid": "8c209615-bc40-44a9-b31e-1a4e8c479b1d",
    "apiVersion": "v1",
    "apiContext": "/user/v1",
    "apiProvider": "admin",
    "apiType": "HTTP",
    "apiStatus": "PUBLISHED",
    "securityScheme": "oauth_basic_auth_api_key_mandatory,oauth2",
    "currentStatus": "CREATED",
    "apiVisibility": "public",
    "lifecycleEvent": "Publish",
    "eventId": "6fe0f743-b659-4a6f-b579-c94599b9901f",
    "timeStamp": 1749721922584,
    "type": "API_LIFECYCLE_CHANGE",
    "tenantId": -1234,
    "tenantDomain": "carbon.super"
}

api的更新

<p>WSO2中API的生命周期及相关事件探究</p>

  • 发生场景:API发布者在后台对API的策略进行调整,比如在“Portal Configurations > Subscriptions”菜单下添加标准版、高级版,删除VIP版等
  • 主题 apim
  • 条件 event.payloadData.eventType为"API_UPDATE"且event.payloadData.event.currentStatus为"PUBLISHED"
  • 需先对event.payloadData.event实体结构进行base64解码
{
    "apiName": "xiaohezi01",
    "apiId": 40,
    "uuid": "538afd3f-3b05-46c2-96e9-28412c115f85",
    "apiVersion": "v1",
    "apiContext": "/xiaohezi/v1",
    "apiProvider": "admin",
    "apiType": "HTTP",
    "apiStatus": "PUBLISHED",
    "securityScheme": "oauth_basic_auth_api_key_mandatory,oauth2",
    "currentStatus": "PUBLISHED",
    "apiVisibility": "public",
    "apiVisibleRoles": "",
    "eventId": "02743376-5da1-4d12-9281-9f8520aae705",
    "timeStamp": 1749778764066,
    "type": "API_UPDATE",
    "tenantId": -1234,
    "tenantDomain": "carbon.super"
}

api从发布到下线

  • 发生场景:API发布者在“Publish > Lifecycle”菜单中点击“Pre-Release”,将已发布的接口下线
  • 主题 apim
  • 条件 event.payloadData.eventType为"API_LIFECYCLE_CHANGE"且event.payloadData.event.lifecycleEvent不为"Publish"
  • 需先对event.payloadData.event实体结构进行base64解码
{
    "apiName": "xiaohezi01",
    "apiId": 40,
    "uuid": "538afd3f-3b05-46c2-96e9-28412c115f85",
    "apiVersion": "v1",
    "apiContext": "/xiaohezi/v1",
    "apiProvider": "admin",
    "apiType": "HTTP",
    "apiStatus": "PROTOTYPED",
    "securityScheme": "oauth_basic_auth_api_key_mandatory,oauth2",
    "currentStatus": "PUBLISHED",
    "apiVisibility": "public",
    "lifecycleEvent": "Deploy as a Prototype",
    "eventId": "25d4abc0-f74b-4692-9a7b-579e2656c05a",
    "timeStamp": 1749777184970,
    "type": "API_LIFECYCLE_CHANGE",
    "tenantId": -1234,
    "tenantDomain": "carbon.super"
}

文章整理自互联网,只做测试使用。发布者:Lomu,转转请注明出处:https://www.it1024doc.com/12613.html

(0)
LomuLomu
上一篇 2025 年 6 月 22 日
下一篇 2025 年 6 月 23 日

相关推荐

  • 2025年最新PyCharm激活码与永久破解教程(支持2099年)

    全面破解JetBrains全家桶指南 本教程适用于PyCharm、IDEA、DataGrip、Goland等JetBrains全系列产品,让您轻松实现永久激活! 先来看最新PyCharm版本成功破解的截图展示,有效期直达2099年,完全无忧使用! 下面将详细介绍如何一步步完成PyCharm的永久激活,此方法同样适用于旧版本! 跨平台支持:Windows/Ma…

    PyCharm激活码 2025 年 8 月 21 日
    24600
  • 全网首推最新idea激活码+详细破解教程

    本教程适用于 IDEA、PyCharm、DataGrip、Goland 等,支持 Jetbrains 全家桶! 废话不多说,先上最新 IDEA 版本破解成功的截图,如下,可以看到已经成功破解到 2099 年辣,舒服! 接下来,我就将通过图文的方式,来详细讲解如何激活 IDEA 至 2099 年。当然这个激活方法,同样适用于之前的旧版本!不管你是什么操作系统,…

    IDEA破解教程 2025 年 10 月 22 日
    6400
  • python SQLAlchemy ORM——从零开始学习 04 如何过滤(筛选)数据库中的数据

    04 如何过滤(筛选)数据库中的数据 从数据库中获筛选数据主要应用以下几个接口:filter、filter_by、以及 where。前两个在 02已经展开说过,先展开说where接口 前情提要:依赖03提及的model【本质上就是数据库的链接,有可忽视】 当前的数据库表内容如下,仅作例子,不相同根据自身数据库操作即可: 4-1 通过where进行筛选 同时筛…

    2025 年 1 月 15 日
    51300
  • 华为OD机试E卷 –寻找符合要求的最长子串 –24年OD统一考试(Java & JS & Python & C & C++)

    文章目录 题目描述 输入描述 输出描述 用例 题目解析 JS算法源码 Java算法源码 python算法源码 c算法源码 c++算法源码 题目描述 给你一个字符串 s,字符串 s 首尾相连成一个环形,请你在环中找出 ‘l’、‘o’、‘x’ 字符都恰好出现了偶数次最长子字符串的长度。 输入描述 输入是一串小写的字母组成的字符串 输出描述 输出是一个整数 备注•…

    未分类 2025 年 1 月 12 日
    40400
  • 最新IDEA破解脚本支持永久IDEA激活码授权

    申明:本教程 IntelliJ IDEA 破解补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 ! IDEA是 JetBrains 推出的开发编辑器,功能强大,适用于 Windows、Mac 和 Linux 系统。本文将详细介绍如何通过破解补丁实现永久激活,解锁所有高级功能。 不管你是什么版本、什么…

    IDEA破解教程 6天前
    2000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信