javascript - 如何从 Controller 在nestjs应用程序中发送错误代码?

标签 javascript typescript nestjs

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












此问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-topic在这里,这个问题的解决方式不太可能帮助 future 的读者。


18 天前关闭。







Improve this question




除了200之外,我如何在nestjs中发送错误代码?我试图在方法中注入(inject)响应对象,但没有发送错误的方法。

save(@Body() body: any, @Res() response: Response): string {
    console.log("posting...")
    console.log(body)
    return "saving " + JSON.stringify(body)
}
上面的代码发送具有 20X 状态的正文我想发送不同的状态代码,如 400 或 500。

最佳答案

您应该在您的情况下使用异常过滤器。
在您的情况下,您将需要:

throw new BadRequestException(error);
或者你可以使用
throw new HttpException('Forbidden', HttpStatus.FORBIDDEN);
那会回来的
{
  "statusCode": 403,
  "message": "Forbidden"
}
文档:https://docs.nestjs.com/exception-filters

关于javascript - 如何从 Controller 在nestjs应用程序中发送错误代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56883056/

相关文章:

nestjs - 如何在 Controller 中忽略来自 @UseGuards() 的某些路由?

typescript - Nest.js Fastify 测试TypeError : app. address is not a function

javascript - 有效的 JWT 对于 NestJS 防护无效

javascript - jQuery:显示数字范围从/到的div?

javascript - 理解柯里化(Currying)函数

javascript - Angular D3 理解 attrTween 函数

node.js - 如何将 .pem 文件复制到 Typescript outDir

TypeScript:在运行时访问类型信息

javascript - Angular 值绑定(bind)发送到 ng-click 函数而不是值

javascript - AngularJS ngAnimate 触发太快