【发布时间】:2017-07-05 08:21:34
【问题描述】:
假设我们有一个带有以下路由的 REST API:
app.post("/accounts/:accountId", isAuthorized, isSelf, updateAccount);
在这种情况下,可能会出现很多问题。用户可能是未经授权的,因为他没有登录,或者因为他试图更新不属于他的帐户,或者他缺少所需的属性值。使用中间件,您可以提取某些验证,因此可以跨多个路由使用。
情况
我正在为此路由创建一个 POST,但我没有发送授权标头。 isAuthorized,成功捕获错误,而不是调用下一个函数,它将使用res.send(403) 或其他东西。 isSelf 和 updateAccount 函数会做类似的事情。
问题
我需要手动遵循所有函数的模式以返回类似的错误处理。作为开发人员,这很容易出错。因为当您需要在所有类型的文件中管理它时,很容易弄乱约定。
问题
管理错误的最简单方法是什么?
请注意,所有中间件函数都是自定义函数,因此可以按照通用方法编写它们。
【问题讨论】:
标签: node.js rest express middleware