🕌
【Next.js】基礎から始めるNext.js API Routes【5Request Method】
【5Request Method】
YouTube: https://youtu.be/O3VycNTWnvo
今回はリクエストのメソッド内容に応じて条件分岐で処理を分ける部分について解説します。
後ほど、ユーザーのリスト取得やユーザー追加のフォームを実装して
動作を確認するのですが、今の時点で正常に動くかどうかを確認したい方は、
「Postman」をインストールしてください。
pages/api/users/index.ts
import type { NextApiRequest, NextApiResponse } from 'next'
import { prisma } from '../../../utils/prismaClient'
export default async function handler(
req: NextApiRequest,
res: NextApiResponse
) {
const { method, body } = req
switch (method) {
case 'GET':
const users = await prisma.user.findMany({
select: {
id: true,
name: true,
email: true,
},
})
res.status(200).json(users)
break
case 'POST':
const createdUser = await prisma.user.create({
data: {
email: body.email,
name: body.name,
password: body.password,
},
select: {
id: true,
name: true,
email: true,
},
})
res.status(200).json(createdUser)
break
default:
res.setHeader('Allow', ['GET', 'POST'])
res.status(405).end(`${method} method not allowed`)
}
}
Discussion