如何使用APIKit路由器使用本地raml和json文件在邮递员中显示适当的GET响应?



我在Anypoint平台内创建了RAML和示例JSON文件,并使用APIKit路由器RAML文件生成了流。这是我的RAML文件内容:

#%RAML 0.8
---
title: TestEmployee API
version: v1
/employee:
get:
queryParameters:
id:
displayName: Employee id
required: true
name:
displayName: Employee name
required: false
responses:
200:
body:
application/json:
example: !include EmployeeExample.json

示例 JSON 是:

[{
"id": 1,
"name":"Charles",
"code": "C1ENU00",
"dateofjoining":"2019/06/24",
"domain":"ENU",
"address":"Hyderabad",
"phone": 9865458936,
"program": "WASE"
},
{
"id": 2,
"name":"John",
"code": "C2DIG00",
"dateofjoining":"2019/06/24",
"domain":"DIGITAL",
"address":"Chennai",
"phone": 9756359864,
"program": "ELITE"
}
]

我想使用选择路由器根据条件路由消息,以便查询参数中的"id"和"name"将仅提供包含该"id"和"name"的 JSON 响应。请指导我创建适当的流和数据编织表达式(如果有(。

您不需要为此选择路由器。APIKit 本身就是一个路由器,它根据来自 URL 的方法和端点进行路由。使用 RAML 搭建流基架时,它会为 GET 员工终结点创建一个虚拟流。您只需将该流的内容替换为逻辑,即可从某个位置查询信息,可能使用连接器。

例: Studio 自动生成的流程将有一个类似于"get:\employee:application\json:myApp"的名称。可以将默认内容替换为 DataWeave 转换,以返回指定的列表:

<flow name="get:employee:applicationjson:myApp">
<ee:transform xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/ee/core http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
<ee:message>
<ee:set-payload><![CDATA[%dw 2.0
output application/json
---
[
{
id: 1,
name:"Charles",
code: "C1ENU00",
dateofjoining:"2019/06/24",
domain:"ENU",
address:"Hyderabad",
phone: 9865458936,
program: "WASE"
},
{
id: 2,
name:"John",
code: "C2DIG00",
dateofjoining:"2019/06/24",
domain:"DIGITAL",
address:"Chennai",
phone: 9756359864,
program: "ELITE"
}
]
]]></ee:set-payload>
</ee:message>
</ee:transform>
</flow>

相关内容

最新更新