3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

curlでAPIをたたいてみる入門

3
Posted at

curlでAPIをたたいてみる入門

APIについて調べていると、curlで確認してみる という表現をよく見かけます。
でも、IT初心者のうちは

  • curlって何?
  • APIをたたくってどういう意味?
  • どんなふうに使えばいいの?

と感じることも多いと思います。

この記事では、IT初心者向けに、次の内容をできるだけやさしく整理します。

  • curlとは何か
  • APIをたたくとはどういうことか
  • GETとPOSTをcurlで試す基本
  • 結果をどう見ればよいか

curlとは?

curlは、コマンドラインからHTTPリクエストを送るためのツール です。

ブラウザでWebページを見る代わりに、ターミナルやコマンドプロンプトから直接リクエストを送れるイメージです。

たとえば、ブラウザでページを開くと、裏側ではサーバーにリクエストが送られています。
curlを使うと、そのやり取りを自分でシンプルに試せます。


「APIをたたく」とは?

「APIをたたく」とは、APIに対して実際にリクエストを送って、レスポンスを確認すること を指すことが多いです。

たとえば、次のような場面で使います。

  • このURLでデータが取れるか確認する
  • POSTで登録できるか試す
  • エラー内容を確認する

少しくだけた表現ですが、現場でもよく使われます。


なぜcurlを使うのか

curlを使うと、次のようなことがしやすくなります。

  • APIが正しく動いているか確認できる
  • フロント画面を使わずにAPIだけ試せる
  • エラーの切り分けがしやすい
  • リクエスト内容を明示的に指定できる

特に、画面ではうまくいかないけれど、API自体はどうなのか確認したい ときに便利です。


まずはGETを試してみる

最初に、データ取得の基本であるGETを見てみます。

たとえば、次のようなコマンドです。

curl https://example.com/api/users

これは、

  • https://example.com/api/users に対して
  • GETリクエストを送り
  • 結果を表示する

という意味です。

curlでは、何も指定しないとGETになることが多いので、まずはこの形から覚えると分かりやすいです。


返ってくるレスポンスのイメージ

レスポンスとして、たとえば次のようなJSONが返ってくることがあります。

[
  {
    "id": 1,
    "name": "Taro"
  },
  {
    "id": 2,
    "name": "Hanako"
  }
]

これは「ユーザー一覧が返ってきた」という意味です。

初心者のうちは、まず

  • ちゃんと何か返ってきた
  • JSON形式でデータが見える

という理解で大丈夫です。


POSTを試してみる

次に、データ送信の基本であるPOSTです。

たとえば、ユーザー登録をしたい場合は次のように書きます。

curl -X POST https://example.com/api/users \
  -H "Content-Type: application/json" \
  -d '{"name":"Taro","email":"taro@example.com"}'

少し長く見えますが、分けて見ると理解しやすいです。

  • -X POST
    → POSTメソッドで送る

  • -H "Content-Type: application/json"
    → JSON形式のデータを送ると伝える

  • -d '...'
    → 実際に送るデータ本体

つまりこのコマンドは、users APIに対して、JSON形式のユーザー情報を送っている ということです。


よく使うオプションをざっくり理解する

curlはオプションが多いですが、最初は次の3つを押さえれば十分です。

-X

HTTPメソッドを指定します。

例:

curl -X POST https://example.com/api/users

POST以外にも、PUT、DELETEなどを指定できます。

-H

ヘッダーを付けます。

例:

-H "Content-Type: application/json"

APIでJSONを送るときによく使います。

-d

送信データを指定します。

例:

-d '{"name":"Taro"}'

POSTやPUTなどで、本文を送るときによく使います。


ステータスコードも確認してみる

APIの確認では、レスポンス本文だけでなく、HTTPステータスコード も重要です。

たとえば次のようにすると、ステータスコードを確認しやすくなります。

curl -i https://example.com/api/users

-i を付けると、レスポンスヘッダーも一緒に表示されます。

そこに例えば

HTTP/1.1 200 OK

のように出ていれば、成功です。

よくある例はこんな感じです。

  • 200 : 成功
  • 404 : URLが見つからない
  • 500 : サーバー側エラー

APIをたたいた結果が想定通りかどうかを見るとき、ステータスコードはとても大切です。


認証が必要なAPIはどうする?

実際のAPIでは、認証情報が必要なことも多いです。
その場合は、ヘッダーにトークンを付けて送ることがあります。

たとえば次のような形です。

curl https://example.com/api/users \
  -H "Authorization: Bearer xxxxxx"

これは、認証トークンを付けてAPIを呼び出している例です。

初心者のうちは、「APIによってはログイン情報のようなものが必要」 くらいの理解で問題ありません。


curlを使うときにハマりやすいポイント

初心者がつまずきやすいポイントもあります。

URLが間違っている

APIのパスが少し違うだけでも、404になります。

GETとPOSTを間違える

取得したいのにPOSTしていた、登録したいのにGETしていた、ということがあります。

JSONの書き方が間違っている

ダブルクォーテーションの抜けやカンマの位置ミスでエラーになることがあります。

ヘッダー不足

Content-Type や認証ヘッダーが必要なのに付いていないと、うまく動かないことがあります。


まずは何を試せばいい?

初心者なら、まずは次の順番がおすすめです。

  1. GETでデータ取得を試す
  2. -i を付けてステータスコードを見る
  3. POSTで簡単なJSON送信を試す
  4. ヘッダー付きのリクエストを試す

この順番で触ると、少しずつ理解しやすいです。


まとめ

curlは、コマンドラインからAPIにリクエストを送るための便利なツール です。

APIをたたくとは、実際にリクエストを送って、レスポンスやステータスコードを確認すること だと考えると分かりやすいです。

初心者のうちは、まず次の3つを押さえるのがおすすめです。

  • GETでデータ取得ができる
  • POSTでデータ送信ができる
  • ステータスコードを見ると結果を判断しやすい

curlが使えるようになると、APIの理解がかなり深まります。
画面の裏側で何が起きているのかを、自分の手で確認しやすくなるからです。

最初は難しく見えても、まずは1本のGETリクエストを試すところから始めると入りやすいと思います。

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?