はじめに
初めまして!
エンジニアになって数年、今まで本を読むだけでしたが、もっとプライベートで楽しみながら成長したい!自分が学んだ足跡を残していきたい!と思い記事を書きました!
最終的には自在に開発できるようになりたいと思っています。
いろいろな記事を参考にさせてもらっています。
その中でもこれってどういう意味?とかつまづいたところを念入りに書いていこうかと思います。
今回の目的
nextjsはまだですが、実際のアプリ開発からどう作られていくかを学んでいくためにクローンアプリを開発します。
とは言っても自分で考えることは特になくYoutubeを見てやっていきます。
その中で覚えておきたい部分を分類ごとに記載していきます。なので、その時々に知ったことを小出しにしていく形になります。
前回
使用したものや事前準備
・Macbook Pro
・Visual Studio Code
使用にさせていただいた動画
Next.jsの知識
リクエスト処理の基本の書き方
pages/apiディレクトリにtsファイルで書き込む
export default function handler(
req: NextApiRequest,
res: NextApiResponse<Data>,
) {
res.status(200).json({ name: "John Doe" });
}
[...nextauth].ts
next-authライブラリを使用する時に作成する。APIルートを動的に処理
bcryptライブラリ
パスワードなどのデータを安全にハッシュ化する
install -D @types/~
TypeScriuptで使用する型定義を新しく取得
axios
postなどHTTPリクエストを投げられる
await axios.post("/api/register", {
email,
name,
password
});
res.status(XXX).end();
ステータスを設定しレスポンスを終了
res.status(XXX).json(Object)
ステータスを設定しObjectをjson形式でレスポンス
ステータスコード
200
HTTPリクエストが正常に処理された
405
リクエストされたリソースが指定されたHTTPメソッドをサポートしていない
400
サーバーがリクエストを理解できないときに返される(データが欠落しているなど)
422
サーバーがリクエストの内容を理解はできたものの、リクエストの指示が実行できない(フォーマットが正しいが論理的に実行できないなど)
今回の場合、userが重複したら発生する
prismadb.user.findUnique
Prismaを使用してuserテーブルから特定の条件に基づいてユニークなレコードを取得する
prismadb.user.create
新しいレコードの挿入
実行後。userテーブルを確認した結果
次
まだ