Nestjs에서 GET 요청에 대한 정적 응답 헤더를 설정하거나 보내는 방법은 무엇입니까?

7284 단어 resource
Originally posted here!

Nestjs에서 GET 요청에 대한 정적 헤더를 설정하거나 보내려면 해당 @Header() 요청을 처리하는 @nestjs/common 클래스 메서드 앞에 Controller 모듈의 GET 데코레이터 함수를 사용할 수 있습니다.

TL;DR




// import `@Header()` decorator function from the `@nestjs/common` module
import { Controller, Get, Header } from "@nestjs/common";

// the @Controller() decorator function will instruct Nestjs
// to add a route of `/greet`
@Controller("greet")
export class GreetController {
  // 1. the @Get() decorator function will instruct Nestjs
  // that this is the default method that should be
  // invoked when the user requests a `GET` to `/greet` endpoint
  // 2. use the @Header() decorator function and
  // pass the header name as the first argument
  // and the header value as the second argument
  @Get()
  @Header("x-app-name", "MyApp")
  sayHello() {
    return `Hello World`;
  }
}


예를 들어 /greet 라는 API 엔드포인트가 있고 이를 요청하면 Hello World 의 응답이 제공된다고 가정해 보겠습니다.

다음과 같이 할 수 있습니다.

import { Controller, Get } from "@nestjs/common";

// the @Controller() decorator function will instruct Nestjs
// to add a route of `/greet`
@Controller("greet")
export class GreetController {
  // the @Get() decorator function will instruct Nestjs
  // that this is the default method that should be
  // invoked when the user requests a `GET` to `/greet` endpoint
  @Get()
  sayHello() {
    return `Hello World`;
  }
}


Nestjs에서 GET 요청 생성에 대한 자세한 내용은 How to make a simple GET request or an API endpoint in Nestjs? 블로그를 참조하십시오.

이제 값이 x-app-nameMy App 라는 사용자 지정 헤더를 보내야 하는 경우 @Header() 데코레이터 함수를 사용하고 sayHello() 메서드 바로 위에 사용할 수 있습니다.
@Header() 데코레이터 함수는 2개의 인수를 허용합니다.
  • 첫 번째 인수는 헤더 이름이어야 합니다
  • .
  • 및 두 번째 인수는 헤더 값
  • 이어야 합니다.

    우리의 경우에는 다음과 같이 보일 것입니다.

    // import `@Header()` decorator function from the `@nestjs/common` module
    import { Controller, Get, Header } from "@nestjs/common";
    
    // the @Controller() decorator function will instruct Nestjs
    // to add a route of `/greet`
    @Controller("greet")
    export class GreetController {
      // 1. the @Get() decorator function will instruct Nestjs
      // that this is the default method that should be
      // invoked when the user requests a `GET` to `/greet` endpoint
      // 2. use the @Header() decorator function and
      // pass the header name as the first argument
      // and the header value as the second argument
      @Get()
      @Header("x-app-name", "MyApp")
      sayHello() {
        return `Hello World`;
      }
    }
    


    이제 GET API 엔드포인트에 /greet 요청을 보내면 Hello World 값을 갖는 x-app-name 헤더와 함께 MyApp 응답을 받게 됩니다.

    Nestjs에서 GET 요청에 대한 정적 응답 헤더를 성공적으로 설정했습니다. 예이 🥳!

    codesandbox에 있는 위의 코드를 참조하십시오.

    응답에서 헤더를 보려면 여기Hoppscotch link로 이동하여 요청하십시오.

    그게 다야 😃!

    도움이 되셨다면 자유롭게 공유해 주세요 😃.

    좋은 웹페이지 즐겨찾기