【问题标题】:How to add a where filter to a path in IBM API Connect designer如何在 IBM API Connect 设计器中将 where 过滤器添加到路径
【发布时间】:2017-03-10 19:19:04
【问题描述】:

我正在使用 IBM API Connect 设计器,我想将过滤器添加到我的路径之一。具体来说,我有以下 API 端点路径:

http://127.0.0.1:4001/api/testusers

它与我的 mySQL 数据库中的一个表有关。

我已经构建了完整的 API,但希望允许 API 使用者进行简单的安静搜索:即

http://127.0.0.1:4001/api/testusers?userName=Martin

但是,我不知道该怎么做。我查看了文档: http://www.ibm.com/support/knowledgecenter/SSMNED_5.0.0/com.ibm.apic.toolkit.doc/task_apionprem_configure_operation.html

我试图在他们不可能的论坛上记录一个问题,但每次都崩溃。

我认为从设计器内部添加必须非常简单。但是,我无法解决,或者我添加了它并且无法制定正确的使用路径。但是,无论哪种方式,它都不起作用。任何方向都非常感谢。

此处给出了设计器设置:

【问题讨论】:

    标签: ibm-cloud strongloop apiconnect


    【解决方案1】:

    有几个选项可用。

    由于您谈到了与数据库的连接,我假设您也在使用 Designer 的模型和数据源功能(如果我有误解,请随时纠正)。

    这些组件由 LoopBack 框架提供。因此,无需进行任何自定义编码,您应该能够将filter 子句作为filter[where][property]=value 格式的查询参数添加到您的API 调用中。

    所以,在你的情况下,它可能看起来像:http://127.0.0.1:4001/api/testusers?filter[where][userName]=Martin

    更多细节在这里:http://loopback.io/doc/en/lb2/Where-filter.html

    如果您想让它看起来更像您的示例,那么您需要在底层模型中编写自定义代码。这并不难,但确实有一些学习曲线。这里有很多文档:http://loopback.io/doc/en/lb2/Remote-methods.htmlhttp://loopback.io/doc/en/lb2/Creating-models.html

    【讨论】:

    • 嗨,马特,谢谢。我尝试了很多次,但仍然没有用。我添加了设计师的图片,因此您可以看到我添加的内容。此外,似乎有一个错误,这可能会导致问题。我将在下面添加错误
    • 路径参数已定义但未声明:filter Show me /testusers/findOne: get.parameters.0
    • 你是对的 - 如果我在路径中使用正确的过滤器格式,则无需做任何事情
    猜你喜欢
    • 1970-01-01
    • 2018-10-11
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-24
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多