gpt4 book ai didi

mule - Apikit - 状态码最佳实践

转载 作者:行者123 更新时间:2023-11-30 23:49:04 28 4
gpt4 key购买 nike

在 Mule 中使用 APIKit,如果在执行我的流程时未找到特定资源,我需要返回 404 状态代码。

我可以看到三种处理方法:

  • 抛出自定义业务异常(使用 groovy 脚本),即
    PersonNotFoundException 并使用
    apikit:mapping-exception-strategy 将该异常映射到“404”
  • 抛出现有的 Mule 异常
    org.mule.module.apikit.exception.NotFoundException 已经是
    映射到“404”
  • 不要抛出异常并手动设置http响应和
    我的消息正常流中的状态代码。

  • 这里的最佳做法是什么?使用异常进行流量控制?如果是这样,使用 Mule 异常还是自定义业务异常?

    最佳答案

    我认为这是 API 最佳实践和 Mule 最佳实践之间的奇怪组合之一。

    对于通用资源,即“/users”,我会使用 Mule Not Found Exception (404),但对于不存在的项目资源,即“/users/jim-smith”,出于可用性目的,我会抛出自定义异常“请求的用户不存在”或“您无权访问此用户”(状态 401),无论哪种情况都可以最好地帮助开发人员使用您的 API。

    我认为异常策略的最大优势而不是自己手动更改响应是它创建了一个清晰的流程,您可以轻松确定什么是成功响应,什么是失败响应。

    使用 Mule 中的异常处理程序,您可以向用户返回统一的错误响应(以 JSON、XML 等形式)。

    但是其他人可能不同意我的观点,而自己手动设置状态代码和响应确实提供了最大的灵活性,但也允许不一致。

    关于mule - Apikit - 状态码最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28240926/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com