【问题标题】:URI templates in WSO2 API PublisherWSO2 API Publisher 中的 URI 模板
【发布时间】:2014-08-28 20:08:39
【问题描述】:

是否可以在 WSO2 API Manager 1.4.0 版附带的 API Publisher 中使用 URI templates 注册端点?例如,我想注册一个端点,例如:

/jobs/{jobid}/pems

保存 API 后,我可以在 API 配置文件中看到这一点:

<resource methods="GET" url-mapping="/jobs/{jobid}/pems">

我已尝试手动将 XML 文件从 url-mapping 更改为 uri-template,即:

<resource methods="GET" uri-template="/jobs/{jobid}/pems">

但我仍然收到“在 API 中找不到给定请求的匹配资源”。无论如何,这都不是一个好的解决方法,因为我们需要开发人员能够从发布者应用程序注册这些端点。每当从 API Publisher 界面中将更改保存到 API 时,“uri-template”就会恢复为“url-mapping”。

提前致谢。

【问题讨论】:

    标签: templates uri wso2


    【解决方案1】:

    这是因为 APIPublisher 应用在​​定义 API 资源时仅支持 URL-Mappings。

    如果你想定义一个uri-template,而不是一个url-mapping,你可以通过手动更改api xml来实现。

    但在此之前,请确保在创建 API 时,您已使用有效的 url-mapping 定义 API。因此,在您尝试使用的 API 中,请首先从 APIPublisher 编辑 API,以保持 API 资源的有效 url-mapping 模式然后更改其 xml 以匹配您提到的 uri-template 模式。

    谢谢;

    【讨论】:

      【解决方案2】:

      我们目前不支持 uri-template 模式。我们仅支持网址映射。
      甚至,如果您将后端 API 配置(即 api 配置文件)编辑为 url-mappings,它也不会起作用,因为我们会在请求到达中介引擎之前验证请求。

      您可以使用 ESB RESTApi 作为后端服务端点。也就是说,使用 uri-templates 在 wso2esb 中定义 RESTAPI(在 ESB 中支持它)并将该 API 作为 wso2APIManager 中的服务端点,并使用 url-映射模式。

      【讨论】:

      【解决方案3】:

      我想补充一点。正如我之前提到的,WSO2 APIManager 支持 uri-templates。只有 api-publisher 应用程序 UI 不允许添加 uri-templates。
      从 Publisher UI 创建 API 时,您必须将资源映射指定为 /* 或有效的 url-mapping。然后在创建突触 api 时,您必须将该 xml 文件更改为 uri-template,然后将 /* 更改为 uri-template 模式。

      希望以上内容能帮助您解决问题。

      谢谢;

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-30
        相关资源
        最近更新 更多