티스토리 뷰

API Routes(12ver) == Route Handlers (13ver) ?

Route Handlers allow you to create custom request handlers for a given route using the Web Request and Response APIs.

(라우트 핸들러스는 Request 와 Response 웹  API를 활용하여 주어진 경로에 커스텀 요청 핸들러를 만들게 해준다.)

=> 즉, next 를 활용해서 풀스택 프로젝트를 구현할 수 있다는 부분은 이 기능이 제공되기 때문인 거 같다.

  • next 12버전의 API 라우트13버전의 라우트 핸들러스가 같은 키워드 같아서 적어놨다. 아래의 next 공홈에서 가져온 good to know 에서 유추한 내용이다.
  • Good to know: Route Handlers are only available inside the app directory. They are the equivalent of API Routes inside the pages directory meaning you do not need to use API Routes and Route Handlers together.

[ 사용방법 ]

라우트 핸들러route.js | tsapp 디렉토리 내부에 정의해야 사용할 수 있다. ( 12버전처럼 api 폴더를 따로 만들어서 그 내부에 route.ts 파일을 정의한다.)

// app/api/route.ts
export async function GET(request: Request) {}

[지원 가능 HTTP 메서드]

 GETPOSTPUTPATCHDELETEHEAD, and OPTIONS

 

[확장된 NextRequest 와 NextResponse API]

next를 통해서 API를 구현하면 기존 Request, Response 객체에서 Next 는 확장된 버전의 편리한 헬퍼를 제공한다. 

NextRequest and NextResponse

 

Functions: NextResponse | Next.js

Using App Router Features available in /app

nextjs.org

Q. NextRequest, NextResponse는 무엇이 좋을까?

A. Next js에서 타입스크립트 에러가 발생해서 이를 더 안정화시킨 확장 버전이 NextResponse 객체이다. 따라서 이 객체를 사용하면 보다 안정화되면서 편리한 기능을 추가적으로 사용할 수 있다. (확장성과 안정성)

댓글