如何在IBM API Connect设计器中将where过滤器添加到路径

时间:2016-10-27 23:47:48

标签: ibm-cloud strongloop apiconnect

我正在使用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

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

我认为从设计师中添加它必须非常直接。但是,我无法解决它,或者我已经添加它并且无法找到正确的使用途径。但是,无论哪种方式,它都不起作用。任何方向都是最受欢迎的。

设计师设置如下: enter image description here

enter image description here

1 个答案:

答案 0 :(得分: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