如何在 Mulesoft 中处理后端 REST API 响应
How to handle backend REST API responses in Mule Soft
我使用 CRUD 创建了 REST API,我想知道如何在 Anypoint Studio 中处理来自 API 端点的响应。每个操作有 4 个端点,我希望它们都在 Listener 模块中共享路径 /api
,然后让 Mule 根据接下来发生的事情选择要遵循的流程。
例如,第一个流程在 /api 上设置了侦听器路径,但随后有一个具有路径的 HTTP 请求:http://localhost:1234/api/courses/find/60ee9678070e104b2c57be46
所以它知道只有当我搜索带有其 id 的项目,而不是当我想去 http://localhost:1234/api/courses
时,它用于显示所有课程。
基本上我想知道的是,我是否必须使用 /api
创建 1 个监听器,然后以某种方式根据传递的 URL 确定它应该执行的操作,或者可以在 /api
.
上设置了很多带有监听器的流
使用 Anypoint Studio 的最简单方法是为您的 API 编写一个简单的 RAML 规范,然后使用 Studio 自动构建您的应用程序。
有关详细信息,请参阅:
- https://docs.mulesoft.com/apikit/4.x/apikit-4-raml-flow-concept
- https://raml.org/developers/raml-100-tutorial
- http://workshop.tools.mulesoft.com/modules/module3_lab1
如果您更喜欢手动执行此操作,无需 APIKit/RAML,只需让基础 API 的侦听器并使用带有条件表达式的 Choice 路由器使用 HTTP 方法 (attributes.method
) and/or 路径。有关您可以使用的已接收请求的更多属性,请参阅 https://docs.mulesoft.com/http-connector/1.6/http-listener-ref#from-http-request-to-mule-message。
我建议使用 RAML 方法,因为它易于上手并且有工具支持。
我使用 CRUD 创建了 REST API,我想知道如何在 Anypoint Studio 中处理来自 API 端点的响应。每个操作有 4 个端点,我希望它们都在 Listener 模块中共享路径 /api
,然后让 Mule 根据接下来发生的事情选择要遵循的流程。
例如,第一个流程在 /api 上设置了侦听器路径,但随后有一个具有路径的 HTTP 请求:http://localhost:1234/api/courses/find/60ee9678070e104b2c57be46
所以它知道只有当我搜索带有其 id 的项目,而不是当我想去 http://localhost:1234/api/courses
时,它用于显示所有课程。
基本上我想知道的是,我是否必须使用 /api
创建 1 个监听器,然后以某种方式根据传递的 URL 确定它应该执行的操作,或者可以在 /api
.
使用 Anypoint Studio 的最简单方法是为您的 API 编写一个简单的 RAML 规范,然后使用 Studio 自动构建您的应用程序。
有关详细信息,请参阅:
- https://docs.mulesoft.com/apikit/4.x/apikit-4-raml-flow-concept
- https://raml.org/developers/raml-100-tutorial
- http://workshop.tools.mulesoft.com/modules/module3_lab1
如果您更喜欢手动执行此操作,无需 APIKit/RAML,只需让基础 API 的侦听器并使用带有条件表达式的 Choice 路由器使用 HTTP 方法 (attributes.method
) and/or 路径。有关您可以使用的已接收请求的更多属性,请参阅 https://docs.mulesoft.com/http-connector/1.6/http-listener-ref#from-http-request-to-mule-message。
我建议使用 RAML 方法,因为它易于上手并且有工具支持。