【问题标题】:Feathersjs hook error always returns a 500 error and html bodyFeathersjs 钩子错误总是返回 500 错误和 html 正文
【发布时间】:2018-02-22 14:40:21
【问题描述】:

我正在使用 before 钩子函数来验证一些查询参数。问题是当我抛出一个新错误时,我总是收到一个 500 错误代码和一个 HTML 正文,如下所示,而不是预期的 400:

Response

我的钩子函数如下:

const errors = require('@feathersjs/errors');
function validateFindQueryParameters(options){
  return context => {
    const c = {...context};
    const q = c.params.query;

    if(!q.hasOwnProperty("ticketStatus") || q.ticketStatus === ""){
      throw new errors.BadRequest('ticketStatus is not present or empty');
    }
  }
}

【问题讨论】:

    标签: feathersjs


    【解决方案1】:

    就像 Express 一样,您必须添加自己的错误处理程序。可以使用@feathersjs/express模块自带的errorHandler()作为documented here:

    const feathers = require('@feathersjs/feathers');
    const express = require('@feathersjs/express');
    
    const app = express(feathers());
    
    // before starting the app
    app.use(express.errorHandler())
    

    另见this FAQ entry。

    【讨论】:

    • 太棒了!我还想指出该行放置位置的重要性,因为我在文件的早期声明了它,这给我带来了问题。
    猜你喜欢
    • 2020-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多