1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

API通信でよく見るGETとPOSTの違いを初心者向けに整理する

1
Posted at

まずはじめに

API通信を学んでいると、
GET や POST という言葉をよく見かけます。

自分も最初、
「何となく見たことはあるけど、違いがよく分からない」
という状態でした。

今回は GET と POST の違いを初心者向けに整理します。

GETとPOSTを超ざっくり言うと

GET → データを取得する
POST → データを送信する

GETとは?

一言でいうと

「データを下さい」

という通信です。

例として

  • 商品一覧を見たい
  • ユーザー情報を見たい
  • Todo一覧を見たい

こういう時に使います。

  • 取得
  • 閲覧
  • 検索
  • 表示

などです。

GETはデータをURLに乗せることが多いです。

例:

/products?category=keyboard&page=1

これは「category が keyboard の商品を、1ページ目で表示する」
という意味です。

このようにURLへ情報を付けるものを
「クエリパラメータ」と呼びます。

部分 意味
?category=keyboard categoryがkeyboard
&page=1 pageが1

POSTとは?

一言でいうと、

「このデータを送ります」

という通信です。

例えば、

  • 新規登録
  • ログイン
  • 注文作成
  • コメント投稿

などで使われます

fetchで比較してみる

GETの場合

const res = await fetch("/api/products")

fetchを使って商品一覧を取得しています。

GETは「データをください」という通信なので、
シンプルに書けることが多いです。

POSTの場合

const res = await fetch("/api/orders", {
  method: "POST",
  headers:{
    "Content-Type": "application/json",
  },
  body: JSON.stringify(orderData)
})

POSTでは、

  • method
  • headers
  • body

などを設定しています。

特に body は「送信するデータ」です。

今回は注文データをJSON形式で送っています。

POSTでは、送信したいデータを body に入れることが多いです。

GETとPOSTの使い分け

GET は「データを取得したい時」

POSTは「データを送信したい時」

によく使われます。

例えばECサイトなら、

  • GET → 商品一覧や商品詳細を取得
  • POST → 注文情報を送信

というように使い分けます。

まとめ

GET POST
データ取得 データ送信
シンプル 設定が増える
URLで条件指定することが多い bodyにデータを入れる

補足

headersって何?

そのデータの説明や追加情報

例えばContent-Type

headers: {
  "Content-Type": "application/json"
}

これは
「bodyの中身はJSON形式ですよ」
とサーバーへ伝えています。

他にも

ヘッダー 意味
Content-Type データ形式
Authorization ログイン情報
Date 日付
User-Agent ブラウザ情報

などがあります。

JSON.stringifyって何?

JSON.stringifyは、
JavascriptのオブジェクトをJSON文字列へ変換する処理です。

const data = {
  name: "Taro"
}

'{"name":"Taro"}'

このように、
javascriptオブジェクトをJSON文字列へ変換しています。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?