如何在 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 自动构建您的应用程序。

有关详细信息,请参阅:

如果您更喜欢手动执行此操作,无需 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 方法,因为它易于上手并且有工具支持。