目的
- curlコマンドを使ってAPIを叩けるようになること
- GET, POST, PUT, DELETE できるようになること
- 以下のオプションの意味がわかること
- -X
- -H
- -d
curlコマンドとは
項目 | 説明 |
---|---|
何のため使う? | URL を使ってデータの通信を行うため、APIを叩くため |
どこで使う? | コマンドプロンプトなどのコマンドラインやスクリプト |
使うとどうなる? | データを取得したり、データを処理させたりできます |
いつ使う? | API の動作確認など |
こちらはコマンドプロンプトで curl コマンドを叩いている例
curl の使い方
文法は curl [URL] [OPTIONS]
です
以下は URL が google.com、OPTIONS はつけないで叩いた例です
このような雰囲気で叩きますよの例です
C:\Users>curl google.com
上記のコマンドを叩くと以下の結果が返ってきます
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.com/">here</A>.
</BODY></HTML>
curl オプション
curl の使い方は上記でご覧いただいた通りです
URL については叩く API の URL をそのまま記述するだけなの問題ないかと思います
OPTIONS これが使う場面によって色々変わるので問題になります
ではどんなオプションがあるのか見ていきましょう
※下の表以外にもオプションはありますが、簡潔のため割愛します
オプション | 概要 |
---|---|
-X | メソッドの指定(GET, POST, PUT)などなど |
-H | 記述したヘッダー情報を送信する |
-d | 記述したデータを送信する |
オプション:-H
コンテンツタイプや API キーなどの情報を記述します
例として下記の情報を記述したいとします
key | value | 説明 |
---|---|---|
Content-Type | application/json | 送ったデータは json ですよってサーバーに伝えるための記述 |
X-API-KEY | API キー | API を使用するための認証情報を記述 |
以下のようなオプションをつけることになります
-H "Content-Type:application/json"
-H "X-API-KEY:writeapikeyhere”
オプション:-d
json でデータを送る際の例はこんな感じです
-d '{"key1":"value1","key2":"value2"}'
curlコマンドを作成してみましょう
以下の設定で API を叩きたいとします
項目 | 内容 |
---|---|
メソッド | POST |
URL | https://example.com |
送るデータのタイプ | json |
API キー | writeapikeyhere |
また送るデータは以下のとします
{
"key1": "v1",
"key2": "v2",
}
ここまでの設定を踏まえてコマンド作成すると、
以下のようになります
curl -X POST “https://example.com” \
-d "{\"key1\":\"v1\", \"key2\": \"v2\"}" \
-H "Content-Type:application/json" \
-H "X-API-KEY:writeapikeyhere”
AWS でAPI を自作して curl コマンドを叩く
本記事を作成した理由ですが、実は API Gateway で API を作成した後、動作確認するため curl コマンドを使用したときつまりに詰まったのでまとめたかったからでした~
こちらの記事を見ると AWS で API を自作して、curl コマンドを叩いて動作確認までできます
付録
そもそも API とは
HTTP method とは
WebAPI, REST API, WebSocket API とは
WebAPI
REST API
WebSocket API
API Gateway とは