【问题标题】:Node.js how to throw errors properly?Node.js 如何正确抛出错误?
【发布时间】:2019-01-03 09:47:30
【问题描述】:

给定的选项是好的做法还是需要改进? 如果是这样,你能告诉我怎么做吗?

// Situation 1 - developer error
error: {
  name: "Unauthorized",
  message: "Authentication token was not found / incorrect",
  code: "401"
}

// Situation 2 - user's faults
error: {
  name: "Bad Request",
  message: {
    first_name: "Please fill first name 2-10 chars long",
    last_name: "Last name is not allowed to contain digits - letters only"
  },
  code: "400"
}

// Situation 3 - everything is okay.
data: {
  user: {
    first_name: "John",
    last_name: "Doe"
  },
  code: "200"
}

基本上我想返回多个错误或描述性错误,但new Error("error") 类仅针对一个错误。

我应该如何正确地做到这一点?

【问题讨论】:

    标签: node.js rest api error-handling


    【解决方案1】:

    您可以使用以下标准进行 REST API 响应。

    **Success Response:**
        {
         "code": 200,
         "success": true,
         "data": {},
         "message": "Vendor created successfully."
        }
    
    **Internal Server Error Response:**
            {
               code: 500,
                success: false,
                message: "Internal Server Error",
                error: err
            }
    
    **Process Error Response:**
    
            {
                success: false,
                message: msg,
                data:{},
                code: 409,
                process_code: process_code
            };
    
    **Fields Validation Error Response:**
    
           {
                errors: errors,
                code: 400,
                success: false,
                message: "Fields validation failed."
            }
    
    
    **404 Resource Not Found Response:**
    
    {
        "code": 404,
        "success": false,
        "message": "Resource Not Found.",
        "error":err
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-18
      • 2017-09-23
      • 1970-01-01
      • 1970-01-01
      • 2020-08-29
      • 2018-09-24
      • 2018-01-27
      • 1970-01-01
      相关资源
      最近更新 更多