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年最新IDEA激活码及永久破解教程(支持Windows/Mac/Linux)

    IntelliJ IDEA作为Java开发者的首选IDE,以其强大的功能和丰富的插件生态著称。不过其高昂的授权费用也让不少开发者望而却步。本文将为大家详细介绍一套完整的IDEA永久激活方案,有效期至2099年! 特别声明:本教程仅供学习研究使用,请支持JetBrains官方正版软件。 一、准备工作 在开始破解前,请确保:1. 已卸载任何非官方渠道下载的IDE…

    IDEA破解教程 2025 年 8 月 15 日
    25600
  • 全新idea激活码2025免费版+idea破解教程下载

    重要提醒:以下补丁、激活码均搜集自互联网,仅供学习研究,禁止商用。若条件允许,请支持正版! IntelliJ IDEA 是 JetBrains 出品的跨平台 IDE,支持 Windows、macOS 及 Linux。下文将手把手演示如何借助破解补丁实现永久授权,解锁全部高级特性。 无论您当前使用哪个版本、哪种系统,步骤都已梳理完毕。 激活成功效果预览 补丁生…

    2025 年 10 月 17 日
    19500
  • 2025年最新IDEA激活码及永久破解教程(支持Windows/Mac/Linux)

    IntelliJ IDEA作为Java开发者的首选IDE,以其强大的功能和丰富的插件生态著称。但高昂的授权费用让不少开发者望而却步。本文将为大家详细介绍一套完整的永久激活方案,助你将IDEA使用期限延长至2099年! 温馨提示:本教程仅供学习研究使用,建议有条件的开发者支持JetBrains正版软件。 准备工作 在开始破解前,请确保:1. 已卸载任何非官方渠…

    IDEA破解教程 2025 年 8 月 17 日
    2.4K00
  • 2025年最新DataGrip激活码永久破解教程(亲测有效)💯

    还在为DataGrip的激活问题发愁吗?🤔 本教程将手把手教你如何永久破解DataGrip至2099年!适用于所有JetBrains系列产品,包括IDEA、PyCharm、Goland等,让你的开发工具永不过期!🚀 先看破解效果 ✨ 成功破解后,你的DataGrip将显示有效期至2099年!是不是很心动?😍 准备工作 📥 下载DataGrip安装包 如果你还…

    DataGrip激活码 2025 年 6 月 26 日
    44300
  • 全网推荐2025最新版idea激活码,一站式破解教程

    免责声明:以下补丁与激活码均源自互联网公开分享,仅限个人学习研究,禁止商用。若条件允许,请支持正版 JetBrains! IntelliJ IDEA 作为 JetBrains 家族的旗舰 IDE,跨 Windows、macOS、Linux 三大平台,功能强悍。下面手把手教你用「永久补丁」解锁全部高级特性,全程图文演示,跟着做即可。 无论你现在用哪个版本、哪种…

    IDEA破解教程 2025 年 11 月 9 日
    35300

发表回复

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

关注微信