🦊

HTTPステータスコード 200、201

2023/12/17に公開

HTTPステータスコードでレスポンスを返す際、よく200番を使用してきましたが、
201番でも返すことができることを知りました。
クライアントとサーバー間の通信で明確な意思疎通のための基準を提供するため、適切に使用する必要があります。これまで何も知らずにずっと200番で送っていましたが...

HTTPステータスコード200(OK)

リクエストが正常に処理されたことを示します。通常、サーバーがクライアントのリクエストを適切に実行し、レスポンスが正常に完了したことを意味します。
このコードは、ほとんどの成功したGET、PUT、PATCH、またはDELETEリクエストの標準的な応答として使用されます。例えば、ユーザーがウェブページを要求したり、サーバーにデータを更新する場合に、200ステータスコードを受け取ります。

export default function handler(req, res) {
  if (req.method === 'GET') {
    res.status(200).json({ message: 'requestをGETしました!' });
  } else {
    res.status(405).end(); 
  }
}

HTTPステータスコード201(Created)

クエストが正常に行われ、その結果として新しいリソースが作成されたことを示します。
このコードは主にPOSTリクエストで新しいリソースを作成する際に使用されます。例えば、新しいユーザーアカウントを作成する場合や、掲示板に新しい投稿をする場合に、サーバーが201ステータスコードを返すことがあります。この場合、応答には通常、作成されたリソースに関する情報(例:位置)が含まれます。

export default function handler(req, res) {
  if (req.method === 'POST') {
    // ここではリソースの生成をシミュレーションします。実際のデータベースにデータを追加することもできます。
    const newResource = { id: Date.now(), ...req.body };
    res.status(201).json({ message: 'Resource created successfully', newResource });
  } else {
    res.status(405).end(); // Method Not Allowed
  }
}

これからは全て200で行うのではなく、状況判断をして使用する必要があると思った..

Discussion