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버전 이후부터는 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 메소드에 맞는 이름을 가진 함수가 실행되어 가독성이 좋아졌다.