Nestjs에서 GET 요청에 대한 정적 리디렉션을 설정하는 방법은 무엇입니까?

7358 단어 resource
Originally posted here!

Nestjs에서 GET 요청에 대한 정적 리디렉션을 설정하려면 @Redirect() 모듈의 @nestjs/common 데코레이터 함수를 사용하고 해당 Controller 요청을 처리하는 GET 클래스의 메서드 바로 위에서 호출할 수 있습니다.

TL;DR




// import `@Redirect()` decorator function from the `@nestjs/common` module
import { Controller, Get, Redirect } 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. Using the @Redirect() decorator function to have static redirection
  // and passing the redirect url as the first argument and
  // the redirection status code as the second argument
  @Redirect("https://www.google.com/", 301)
  @Get()
  sayHello() {
    return `Hello World`;
  }
}


예를 들어 GET라는 /greet 요청 API 엔드포인트가 있고 요청 시 Hello World 응답을 제공한다고 가정해 보겠습니다.

API 끝점에 대한 코드는 다음과 같습니다.

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`;
  }
}


이제 GET 요청을 다른 URL로 정적으로 리디렉션해야 한다면 어떻게 해야 할까요? https://www.google.com/라고 합시다.

이를 위해 @Redirect() 모듈의 @nestjs/common 데코레이터 함수를 사용하고 Controller 요청을 처리하는 GET 클래스 메서드 바로 위에서 호출할 수 있습니다. 우리의 경우에는 sayHello() 방법입니다.
Redirect() 데코레이터 함수는 2개의 인수도 허용하며 둘 다 선택 사항입니다.
  • 첫 번째 인수는 리디렉션해야 하는 URL입니다. 이 경우에는 https://www.google.com/ URL입니다.
  • 두 번째 인수는 리디렉션 상태 코드입니다. 이 경우 상태 코드는 301입니다. 자세한 내용은 redirection status codes을 참조하십시오.

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

    // import `@Redirect()` decorator function from the `@nestjs/common` module
    import { Controller, Get, Redirect } 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. Using the @Redirect() decorator function to have static redirection
      // and passing the redirect url as the first argument and
      // the redirection status code as the second argument
      @Redirect("https://www.google.com/", 301)
      @Get()
      sayHello() {
        return `Hello World`;
      }
    }
    


    Nestjs에서 GET 요청에 대한 정적 리디렉션을 성공적으로 설정했습니다. 예이 🥳!

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

    https://q85sh3.sse.codesandbox.io/greet URL로 이동하여 Google 홈페이지로 리디렉션되는 것을 볼 수도 있습니다.

    그게 다야 😃.

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

    좋은 웹페이지 즐겨찾기