内置 HTTP 异常
Nest 提供了一组继承自 base 的标准异常 HttpException
。这些是从 @nestjs/common
包中公开的,代表许多最常见的 HTTP 异常。
BadRequestException
400 Bad Request
当请求无效或无法被服务器理解时抛出,通常由客户端发送的请求格式有误。
UnauthorizedException
401 Unauthorized
当请求需要用户认证,但用户未提供有效的认证凭据时抛出。
NotFoundException
404 Not Found
当请求的资源不存在时抛出,表示服务器未能找到所请求的资源。
ForbiddenException
403 Forbidden
当客户端没有访问请求资源的权限时抛出,表示服务器理解请求,但拒绝执行。
NotAcceptableException
406 Not Acceptable
当服务器无法根据请求的内容特性完成请求时抛出,通常由客户端请求的媒体类型不受支持。
RequestTimeoutException
408 Request Timeout
当请求超时时抛出,表示服务器等待了太长时间而没有收到请求。
ConflictException
409 Conflict
当请求的资源与服务器上现有资源发生冲突时抛出,表示请求无法执行。
GoneException
410 Gone
当请求的资源不再可用,且不知道转发地址时抛出。
HttpVersionNotSupportedException
505 HTTP Version Not Supported
当请求使用的HTTP协议版本不受服务器支持时抛出。
PayloadTooLargeException
413 Payload Too Large
当请求的有效载荷过大,超出服务器处理能力时抛出。
UnsupportedMediaTypeException
415 Unsupported Media Type
当请求中的媒体类型不受支持时抛出,通常用于RESTful API中。
UnprocessableEntityException
422 Unprocessable Entity
当请求格式正确,但语义错误,无法处理请求时抛出,通常用于表单验证失败。
InternalServerErrorException
500 Internal Server Error
当服务器遇到无法处理的错误时抛出,通常用于未捕获的异常。
NotImplementedException
501 Not Implemented
当请求的功能尚未实现时抛出,通常用于向客户端指示未来可能支持的功能。
mATeapotException
418 I’m a teapot
这是一个特殊的异常,用于愚人节或有趣的场景,指示服务器是一台茶壶而不是Web服务器。
MethodNotAllowedException
405 Method Not Allowed
当请求的HTTP方法不允许对目标资源执行操作时抛出。
BadGatewayException
502 Bad Gateway
当服务器作为网关或代理,从上游服务器收到无效响应时抛出。
ServiceUnavailableException
503 Service Unavailable
当服务器暂时无法处理请求时抛出,通常用于临时维护或过载情况。
GatewayTimeoutException
504 Gateway Timeout
当服务器作为网关或代理,未及时从上游服务器收到响应时抛出。
PreconditionFailedException
412 Precondition Failed
当请求头中的条件不满足时抛出,用于条件请求。