首页 > 解决方案 > REST API 多错误响应最佳实践

问题描述

我正在使用具有以下架构的 Express 构建一个 rest api:

Routes->Validation(Joi)->Controller->Service->Model(Mongoose)

现在,我正在尝试找到将错误发送给客户端的最佳方式。我想过发送一个带有一系列错误的json,如下所示:

"errors": [
        {
            "code":"PRODUCT_ID.INVALID",
            "message":"Invalid productId",
            "pointer":"/device/productId"

        },
        {
            "code":"VARIANT_ID.INVALID",
            "message":"Invalid variantId",
            "pointer":"/device/variantId"
        }
    ]

但是我发现了一个问题,因为当从模型中抛出错误时,例如,当使用不在 db 中的 id 发送 PATCH 请求时,我在模型中没有对导致的特定请求字段的引用错误,所以我无法构建指针和正确的代码。我真的无法弄清楚如何处理这个问题,所以感谢您的帮助。

标签: restvalidationerror-handlingapi-designsoftware-design

解决方案


推荐阅读