Quantcast
Channel: Postmanタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 470

APIを改めて勉強してIoT機器を動かす(LT用)

$
0
0

目次

  1. APIとは
  2. 仕組み
  3. 便利ツール
  4. やってみた

1. APIとは

Application Programming Interfaceの略


 機能的には

ソフトウェアやアプリケーションなどの一部を外部に向けて公開
 ↓↓↓↓↓
第三者が開発したソフトウェアと機能を共有するもの


つまり

アプリケーション、ソフトウェアとプログラムをつなぐもの


例えば

よくある郵便番号を入力したら住所を入力してくれるやつ
Image from Gyazo


やってみよう

curl -X GET https://zipcloud.ibsnet.co.jp/api/search\?zipcode\=あなたの郵便番号(間のハイフンは無し)
ちなみにcurlはサーバへ(から)データ転送を行うコマンド
基本的な使い方はHTTPリクエスト


2. 仕組み


  • API エンドポイント
  • API キー
  • メソッド
  • クエリパラメータ
  • ヘッダ
  • ボディ
  • レスポンス

分解してみよう


API エンドポイント

サービスに接続するためのURL
企業などのサービス提供側が用意している
これがないと
どこにデータを取りに行ったら良いかわからない


メソッド

ネーム役割コメント
GETリソースの取得一番安全
POSTリソースの作成よく使う
PUTリソースの置き換えファイルアップロードなど
PATCHリソースの部分更新べき乗でない
DELETEリソースの更新べき乗である

クエリパラメータ

使用するAPI・サービスの種類など詳細を指定
https://example.com/pathparameter/{pathparameter}?queryparameter=hoge

※パスパラメータは特定のリソースを識別するために必要な情報


クエリパラメータ

特定のリソースを操作して取得する際に必要な情報
検索やフィルタなどで使用


ヘッダ

データの種類や、API キーなどの認証情報を入力 ※POSTメソッドで指定する


ヘッダ

そもそも情報は付与してリクエストしている
curl -i https://api.github.com/zen


ボディ

APIと送受信したい情報を入力。※POSTメソッドで指定する
{hoge_name: fugafuga,description: hogefugahoge}
特定のリソースを識別するために必要な情報
※基本はJSON形式


JSONかXMLか

JSON: JavaScript Object Notation
記述量が少なめ
XML: Extensible Markup Language
HTMLと同じマークアップ言語だがデータ記述用の言語


JSONが増えている

Image from Gyazo


レスポンス (APIからの返答)

同時にアクセスがある時のPATCHなどべき乗でないので設定が必要
また、同時のアクセスが多いものなどには
プロキシサーバーを立ててあげることで複数のAPIアクセスを個別に行い、レスポンスをまとめて返してくれる


3. 便利ツール

Postman

Swagger


Postman

Image from Gyazo


Postman

  • リクエストの保存ができる
  • パラメーターのカスタマイズがしやすい
  • 比較的人気

Swagger

簡単にいうと
APIの仕様書でリクエストも送れるもの
サーバを立てないとリクエストが遅れないなど少し面倒


4. やってみた

Image from Gyazo


Switch botがAPIを公開している

SwitchBotAPI

生のAPIを使って操作してみた


参考:
郵便番号検索API
APIの仕組みが分かる・使いこなせる人材になれる記事(Pythonコード付き)


Viewing all articles
Browse latest Browse all 470

Trending Articles