import {
CallHandler,
ExecutionContext,
Injectable,
NestInterceptor
} from '@nestjs/common'
import { Observable } from 'rxjs'
import { Response } from 'express'
/**
* Response Interceptor
* @class {ResponseInterceptor}
* @implements {NestInterceptor}
*/
@Injectable()
export class ResponseInterceptor implements NestInterceptor {
/**
* Intercept
* @param context {ExecutionContext} - 執行上下文
* @param next {CallHandler} - 呼叫處理程序
* @return {Observable} 返回 Observable
*/
intercept(context: ExecutionContext, next: CallHandler): Observable {
// 取得 Http 上下文
const contextHttp = context.switchToHttp()
// 取得 Response 物件
const response: Response = contextHttp.getResponse()
// 設定成Http Status 200
response.status(200)
return next.handle()
}
}
main.ts
2024/11/16
Implementing Global HTTP Status 200 Response in NestJS
根據不同的 HTTP 方法,NestJS 會自動設置對應的 HTTP 狀態碼,但基於特定需求,我會另作考量和調整
訂閱:
文章 (Atom)