javascript - 如何从控制器在nestjs应用程序中发送错误代码?
问题描述
除了200之外,我如何在nestjs中发送错误代码?我试图在方法中注入响应对象,但没有发送错误的方法。
save( @Body() body:any,@Res() response: Response):string {
console.log("posting...")
console.log(body)
return "saving " + JSON.stringify(body)
}
上面的代码发送具有 20X 状态的正文我想发送不同的状态代码,如 400 或 500。
解决方案
因此,返回 http 状态代码的完整示例既不抛出错误,也不通过 static @HttpCode()
:
import { Post, Res, HttpStatus } from '@nestjs/common';
import { Response } from 'express';
...
@Post()
save(@Res() response: Response) {
response
.status(HttpStatus.BAD_REQUEST)
.send("saving " + JSON.stringify(body));
}
您需要使用@Res()
装饰器来获取底层express
Response
对象并使用它的status()
方法。
虽然我仍然想知道是否有其他方法不涉及操作有状态对象,而只是像你在春天做的那样在 Nestjs 中干净地返回......
推荐阅读
- python - Python tkinter 将 .exe 文件添加到程序内部的框架中
- unit-testing - 我对 axios 方法的测试用例说返回类型是匿名函数
- javascript - 如何将事件作为属性添加到元素
- json - 如果键未知,如何选择嵌套键
- html - CSS 边框的 Google Maps API 问题:对;
- angular - 与 mat-icon-button 一起使用时,matTooltip 无法始终如一地工作
- php - Laravel/HTML - 为每个表格行中的每个获取分配的 ID
- c# - 选择具有相同外键的项目
- r - 如何将几何标签应用于最后一个值数据点
- cgi - 如何从客户 CGI 处理程序返回原始页面?