[Next.js 13] API 작성

김태성·2023년 12월 5일
0

13버전 이전의 API 작성

api 폴더에 index.js로 api를 만들어왔다

//ex) /api/members/index.js
export async function handler(req, res) {
  	기능...
}

그리고 HTTP 메소드에 따라서

//ex) /api/members/index.js
export async function handler(req, res) {
  	if (req.method === 'GET') {
      기능
    } else if (req.method === 'POST') {
      기능
    } else if (req.method === 'PUT') {
      기능
    }
}

같이 작성하여 코드의 가독성이 저하되었다.

13버전 이후의 API 작성

13버전 이후부터는 index 예약어는 route로 변경되었다 고로 route.js 또는 route.ts 로 만들어줘야 한다.

//ex) /api/members/route.js
export async function GET(req) {
    기능
 
    return NextResponse.json(응답 값)
}
 
export async function POST() {
    기능
}

함수 명은 HTTP 메소드로 변경되었다.

GET 메소드로 요청들어온거는 GET이라는 함수 명을 가진 함수로 호출된다.
즉, POST는 POST 함수, PUT은 PUT 함수가 호출되며 각 HTTP 메소드에 맞는 이름을 가진 함수가 실행되어 가독성이 좋아졌다.

return시 js/ts 상관 없이 NextResponse를 사용해야 한다.

profile
@flip_404

0개의 댓글