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 日

相关推荐

  • ChatGPT Plus自己账号代充操作教程

    ChatGPT Plus 适合长期使用,但前提是会员开在自己的账号里。国内用户只要把支付和账号确认流程理顺,后续续费和继续使用都会更简单。操作前建议先确认已经登录目标账号,后面提交的信息要和当前账号保持一致。

    未分类 2026 年 7 月 23 日
    13000
  • 永久pycharm激活码脚本更新+最新pycharm破解激活

    PyCharm破解教程:2025最新永久激活码+破解补丁下载(Windows/Mac/Linux全平台) 重要声明:本文涉及的PyCharm破解补丁与激活码均来源于网络收集,仅限个人学习研究使用,严禁商业用途。若涉及侵权内容,请联系作者删除。条件允许的话,强烈建议购买官方正版授权! PyCharm作为JetBrains旗下备受推崇的Python集成开发环境,…

    PyCharm激活码 2026 年 2 月 27 日
    54500
  • IDEA 激活码破解最新整理

    这篇指南兼容 IDEA、PyCharm、DataGrip、Goland 等所有 Jetbrains 系列开发工具! 话不多说,先展示最新版 IDEA 破解成功的实况截图,如图所示,激活期限直达 2099 年,非常给力! 接下来,我将通过图文详解的方式,手把手教你如何将 IDEA 激活到 2099 年。 当然,这个激活方案对历史旧版本同样有效! 无论你的操作系…

    IDEA破解教程 2026 年 1 月 5 日
    44800
  • 如何用串口调试助手ComTone调试串口?附安装包

    前言 大家好,我是小徐啊。我们在调试应用的时候,有时候是需要进行串口通信的。但并不是每次都有实时的串口数据供我们去测试,这个时候就需要一个模拟生成串口数据的工具来帮助我们了。今天,小徐就来介绍下串口调试助手ComTone的用法。文末附获取方式。 如何使用串口调试助手ComTone 首先,需要选择对应的端口号,这个必须是能联通的串口号,然后点击打开串口按钮,如…

    2025 年 1 月 13 日
    72200
  • 2026国内ChatGPT Plus充值开通攻略

    相信用过ChatGPT的朋友都知道,开不开Plus的体验差距非常明显。Plus不仅响应速度更快、几乎不用排队,还能抢先体验最新模型,再加上代码解释器、文件分析这些专属功能,早就不只是普通聊天工具,更像是全能生产力助手。但难题来了——国内用户该怎么支付开通ChatGPT Plus呢?如果直接用国内信用卡,哪怕是带Visa/Mastercard标识的,大概率也会…

    ChatGPT 2026 年 4 月 11 日
    38100

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信