Mulesoft API 如果没有找到记录,如何 return 404
Mulesoft API how to return 404 if no records found
我正在使用 Mulesoft Anypoint 创建 REST API 端点。我有一个资源,我对后端数据库的调用 returns 没有记录。
例如http://myhostname/players/1234 - 系统中不存在玩家1234。
我的理解是,对于基于 REST 的方法,这应该 return 404,因为请求的资源(玩家 1234)不存在。
我不清楚如何在 Anypoint Studio 的流程中处理此响应,基于从我的后端接收到一个空数组的 json 文档,如何将其转换为对 [= 的 404 响应23=] 使用 API 套件路由器
我假设您已经使用 RAML 文件指定了您的接口,并且您已经从中生成了流程。
在包含结果数组或空数组的流程中放置一个验证器:
<validation:is-not-empty message="Not Found"
exceptionClass="org.mule.module.apikit.exception.NotFoundException"
value="#[payload]" doc:name="Validate not empty"/>
生成的异常映射将 NotFoundException
转换为 404。您可以在异常映射中配置准确的答案。默认是 JSON 文档 { "message": "Resource not found" }
我正在使用 Mulesoft Anypoint 创建 REST API 端点。我有一个资源,我对后端数据库的调用 returns 没有记录。
例如http://myhostname/players/1234 - 系统中不存在玩家1234。
我的理解是,对于基于 REST 的方法,这应该 return 404,因为请求的资源(玩家 1234)不存在。
我不清楚如何在 Anypoint Studio 的流程中处理此响应,基于从我的后端接收到一个空数组的 json 文档,如何将其转换为对 [= 的 404 响应23=] 使用 API 套件路由器
我假设您已经使用 RAML 文件指定了您的接口,并且您已经从中生成了流程。
在包含结果数组或空数组的流程中放置一个验证器:
<validation:is-not-empty message="Not Found"
exceptionClass="org.mule.module.apikit.exception.NotFoundException"
value="#[payload]" doc:name="Validate not empty"/>
生成的异常映射将 NotFoundException
转换为 404。您可以在异常映射中配置准确的答案。默认是 JSON 文档 { "message": "Resource not found" }