서버리스 API를 만들어보자.

기본 사용법

import { NextApiRequest, NextApiResponse } from "next";

export default function handler(req: NextApiRequest, res: NextApiResponse) {
  res.status(200).json({ message: "Hello, Next.js API!" });
}

브라우저 방문하여 호출하기

<http://localhost:3000/api/hello> // 응답: { "message": "Hello, Next.js API!" }

클라이언트에서 호출하기

fetch('/api/hello')

HTTP 메소드 처리하기

import { NextApiRequest, NextApiResponse } from "next";

export default function handler(req: NextApiRequest, res: NextApiResponse) {
  if (req.method === "GET") {
    res.status(200).json({ message: "GET 요청 성공!" });
  } 
  else if (req.method === "POST") {
    res.status(201).json({ message: "POST 요청 성공!", data: req.body });
  } 
  else {
    res.setHeader("Allow", ["GET", "POST"]);
    res.status(405).json({ error: `Method ${req.method} Not Allowed` });
  }
}