webベースapi基礎と postmanの使い方

75
飯山 克志 (Katsushi Iiyama) Top Out Human Capital 株式会社 December 15 th , 2020 WebベースAPI基礎と Postmanの使い方 10時より開始します Cisco Community Expert Series Community Live

Upload: others

Post on 18-Mar-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: WebベースAPI基礎と Postmanの使い方

飯山 克志 (Katsushi Iiyama)Top Out Human Capital 株式会社

December 15th, 2020

WebベースAPI基礎とPostmanの使い方

10時より開始します

Cisco Community Expert Series Community Live

Page 2: WebベースAPI基礎と Postmanの使い方

© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 2

ご参加ありがとうございます。本日の資料はこちらからダウンロードいただけます。https://community.cisco.com/t5/-/-/ba-p/4185061

Page 3: WebベースAPI基礎と Postmanの使い方

© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 3

[音声ブロードキャスト (Audio Broadcast) ] ウィンドウが自動的に表示され、コンピュータのスピーカーから音声が流れます。

[音声ブロードキャスト (Audio Broadcast) ] ウィンドウが表示されない場合は、[ 通話(Communicate) ] メニューから[音声ブロードキャスト (Audio Broadcast) ] を選択します。

イベントが開始されると自動的に音声が流れ始めます。

音声接続に関する詳細はこちらをご参照ください。解決しない場合は、Q&A ウィンドウより[すべてのパネリスト (All Panelist)] 宛にお知らせください。

https://community.cisco.com/t5/-/-/ta-p/3129991

音声ブロードキャストについて

※ Q&A ウィンドウが画面右側に見つからない場合はここから表示

Page 4: WebベースAPI基礎と Postmanの使い方

© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 4

ご質問方法

Community Live中のご質問は、画面右側の Q&A ウィンドウからすべてのパネリスト (All Panelist)宛に送信してください。

Page 5: WebベースAPI基礎と Postmanの使い方

© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 5

エキスパート スピーカー

飯山克志 (Katsushi Iiyama)

Top Out Human Capital株式会社 CTOCCIE #2023 / CCDP / CCSIDevNet 500 / DevNet 2020 / DevNet SpecialistCisco Champion 2019, 2020

Page 6: WebベースAPI基礎と Postmanの使い方

© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 6

会社紹介とご案内

Top Out Human Capital 株式会社

Page 7: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 7

日本で唯一がここにある!⚫ Cisco 認定ラーニングパートナー (日本で唯一、Collaboration, Security関連コースを実施)

⚫ NetApp 認定ラーニングパートナー (日本で唯一の認定ラーニングパートナー)

⚫ EC-Council 認定トレーニングセンター (Cybersecurity、全てのEC-Council認定コースを唯一実施)

⚫ CompTIAトレーニングパートナー (日本で唯一、Cybersecurity資格に対応する全コースを実施)

⚫ Pythonエンジニア育成推進協会認定スクール (Pythonによる運用&監視の自動化コースを提供)

⚫ Citrix認定ラーニングセンター (日本で唯一、Citrix SD-WANコースを実施)

⚫ HPE Aruba認定トレーニングセンター (国内唯一、Wireless LAN、Switch、Clear Pass)

⚫ F5 認定トレーニングセンター (BIG-IPシリーズ)

⚫ Huawei認定ラーニングパートナー (国内唯一、5G、Wireless LAN 他)

⚫ IoT関連トレーニング (IoTハッキング・セキュリティ、IoT実践ハンズオン)

⚫ Alibaba Cloud ハンズオントレーニング (1日で学べるハンズオン)

⚫ Gigamon 認定トレーニング

⚫ RedHat 認定トレーニング

⚫ ビジネストレーニング (ITILなど)

Page 8: WebベースAPI基礎と Postmanの使い方

Katsushi IiyamaTop Out Human Capital 株式会社

December 15th, 2020

Cisco Community Expert Series Community Live

WebベースAPI基礎とPostmanの使い方

【Top Out Human Capital 株式会社共催】

Page 9: WebベースAPI基礎と Postmanの使い方

© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 9

投票質問 1

シスコの新しい資格DevNetについて、教えてください

1. 資格を取得済み

2. 資格を取得するため勉強中

3. 資格を知ってはいるが、多分取らない

4. 資格を知らなかった。興味がない

Page 10: WebベースAPI基礎と Postmanの使い方

© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 10

投票質問 2

本日説明するPostmanについて

1. よく使っている

2. 使ったことがある

3. これから使わなければいけない

4. 初めて知った

5. 自分は使わないだろう

Page 11: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 11

はじめに

Postmanのインストール

WebベースAPIの基礎

Postmanについて

リクエスト送信- Postmanを使ってGETのテスト

- Postmanを使ってPOSTのテスト

Postmanから、Pythonコードの出力

認証

さいごに

本日の目次

Page 12: WebベースAPI基礎と Postmanの使い方

はじめに

Page 13: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 13

DX (Digital Transformation)

IoT

自動化

アジャイル開発

AI

時代の背景

出典:総務省ホームページ(https://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h30/html/nd102200.html)

Page 14: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 14

WebベースAPIの利用例

サーバの作成や、ディスクの追加、ネットワークの変更、監視などを実施

外部プログラムから自動実行

管理画面から操作

利用者

Page 15: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 15

Postmanの用途

Postmanは、API開発のためのコラボレーションプラットフォームです。Postmanの機能は、APIを構築する各ステップを簡素化し、コラボレーションを合理化するため、より優れたAPIをより迅速に作成できます。

APIクライアント迅速かつ簡単に、REST、SOAP、およびGraphQLリクエストを

Postman内で直接送信します。

自動テスト手動テストを自動化し、CI / CDパイプラインに統合して、コードの変更によって本番環境のAPIが

破損しないようにします。

デザイン&モックバックエンドサーバーを設定せずにエンドポイントとその応答をシミュレートすることで、APIの予想される動作を伝達します。

ドキュメンテーションAPIを使いやすくするために、機械で読み取り可能な美しいドキュメントを生成して

公開します。

モニタースケジュールされた間隔でパ

フォーマンスと応答時間をチェックすることにより、APIの状態を

最新の状態に保ちます。

ワークスペースAPIを構築および使用するための共有コンテキストを提供し、組み込みのバージョン管理を使用してリアルタイムでコラボレーション

します。

Page 16: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 16

API フローでの、REQUESTとRESPONSE

HTTP REQUEST

GET

https://devvie/api/hello

HTTP RESPONSE

200 OK

JSON

Page 17: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 17

REST APIに対応している企業の一部

Page 18: WebベースAPI基礎と Postmanの使い方

Postmanのインストール

Page 19: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 19

https://www.postman.com/downloads/

Download Postman

Page 20: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 20

ダウンロード後インストール

-アカウント作成

• テストをチーム内で共有

-サインアップせずに利用も可能

インストール

Page 21: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 21

起動後の動作は後程

Postmanの起動

アイコンをクリック

Page 22: WebベースAPI基礎と Postmanの使い方

WebベースAPIの基礎

Page 23: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 23

APIにおける基本的な通信

APIサーバー(postman-echo.com)はリクエストを受信し、レスポンスを返します。

Postmanにリクエストの詳細(postman-echo.com/get)を入力し、[Send]ボタンをクリックします。

Postmanは応答を受信し、インターフェースに表示します。①

Page 24: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 24

基本的なHTTPコンテンツネゴシエーション

XML

HTML

CSV

GET /resource

Accept: text/html

Content-Type: text/html

200 OK

GET /resource

Accept: application/json

406 Not acceptable

利用可能なリソースフォーマット

200OK

Page 25: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 25

HTTPヘッダの基礎 / HTTP Request (要求)

POST /customers HTTP/1.1

User-Agent: Mozilla/4.0

Host: www.example.com

Accept-Language: ja-jp

Connection: Keep-Alive

Content-Type: application/xml

Accept: application/json

<body>

<name>Ichiro</name>

</body>

リクエスト(要求)

メソッド

プロトコルバージョン

リソース

リクエストヘッダ

空行

リクエストボディ

Page 26: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 26

HTTP Resoponse (応答)

HTTP/1.1 200 OK

Server: Apache

Connection: Keep-Alive

Content-Type: application/xml

Content-Length: 256

Date: Tue, 06 Aug 2019, 16:06:00 GMT

Last-Modified: Tue, 06, Aug 2019, 02:55:31 GMT

{

"customer":{

"name":"Ichiro",

"city":"New York",

"id":"51"

}

}

プロトコルバージョン

理由フレーズレスポンスコード

レスポンスヘッダ

空行

レスポンスボディ

ステータス行

Page 27: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 27

プロトコル- サーバのホストがオープンなのか(http)セキュアなのか(https)

サーバまたはホスト- Web サービスを提供するサーバまたはホストのドメイン名またはIPアドレス

リソース- API コールのリソース パスです。通常、パスは、内容を表す複数の英語名詞を

使って構成パラメータ- レスポンス データのフィルタ処理、番号付与、範囲指定などを行うサービスに

関する詳細を指定するパラメータ

URI

http://maps.googleapis.com/maps/api/geocode/json?address=sanjose

サーバまたはホスト リソース パラメータプロトコル

Page 28: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 28

HTTP 命令文 標準的なアクション(CRUD)

説明

POST 作成新しいオブジェクトまたはリソースを作成するために使用例:interface loopback 100を作成

GET 読込システムからリソースの詳細を取得例:ルータが所有するinterface一覧を取得

PUT 更新通常、リソースの置換または更新に使用、変更または作成に使用例:interface loopback 100のip addressを変更

PATCH 更新リソースに関するいくつかの詳細を変更するために使用例:logging monitor informationalを有効に変更

DELETE 削除システムからリソースを削除例:interface loopback 100を削除

HTTP メソッド: 何をするか?

CRUDとは、Create(作成)、Read(読み込み)、Update(更新)、Delete(削除)を略した言葉です。

Page 29: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 29

APIの通信の例

Page 30: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 30

ステータスコード ステータスメッセージ 意味

200 OK すべて正常

201 Created 新しいリソースが作成された

400 Bad Request リクエストが無効

401 Unauthorized 認証が見つからない、あるいは正しくない

403 Forbidden リクエストの解釈は行われたが許可されない

404 Not Found リソースが見つからない

500 Internal Server Error サーバ側に何らかの問題がある

503 Service Unavailable サーバがリクエストを完遂できない

レスポンスステータスコード:リクエスト結果の確認方法

Page 31: WebベースAPI基礎と Postmanの使い方

Postmanについて

Page 32: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 32

Postmanの起動

Page 33: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 33

menu 説明

Create a request(Requestを作成)

GET/POST/PUT/DELEなど15種のメソッドに対応したRequestを作成する

Create a collection(Collectionを作成)

Requestを管理するCollectionを作成するベンダが作成したCollectionなども数多く存在するため、ダウンロードして利用も可能

Create an environment(環境変数の管理)

環境変数機能を使用して、接続先ごとに異なるクレデンシャルの一括管理や、変数の管理などを行うことができる

Create an API(APIの設計)

(サインイン時のみ利用可能)APIビルダーを使用して、Postmanで直接APIを設計できます。

View More Create documentation、Create a mock server、create a monitorなど他にも豊富な機能多数

Menuの紹介

Page 34: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 34

各部の説明 ヘッダーバー

サイドバービルダー

Page 35: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 35

メニューバー紹介

Page 36: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 36

コレクション

Page 37: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 37

コレクション – 認証

Page 38: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 38

PostmanをもちいたDashboard APIの使用http://postman.meraki.com/

Click

ブラウザからの利用も可能

Page 39: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 39

Importが可能

Page 40: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 40

メソッドの使用例

Page 41: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 41

環境変数の管理(Manage Environments)

Page 42: WebベースAPI基礎と Postmanの使い方

リクエスト送信

Page 43: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 43

1. メソッドにGETを選択

2. URL (https://postman-echo.com/get/)を入力

3. Send を押して送信

初めてのリクエスト送信

Page 44: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 44

初めてのリクエスト送信(続き)

レスポンス詳細

レスポンスステータス

レスポンスボディ

形式

Page 45: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 45

Responseヘッダの確認

Page 46: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 46

1. メソッドを選択

2. URL (https://postman-echo.com/get/)を入力GETパラメータはここでは入れない

3. Paramsタブを選択して、GETのパラメータを、KeyとValueを分けて入力

4. Sendボタンを押して、サーバにアクセスする

パラメータを追加してアクセス

GETメソッドURLを入力

Paramsタブ

パラメータ

Sendをクリック

Page 47: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 47

サーバからの返答

c

Page 48: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 48

テストは保存することができます。Saveボタンで上書き保存、Saveボタン右の矢印ボタンで、Save as(別名保存)もできます。

テスト環境の保存方法

Page 49: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 49

複数のテスト環境を開く

+ボタンでテスト環境を開く

保存されたテスト環境

Page 50: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 50

テスト環境を複製する方法

現在使っているTabを複製し、新しいテスト環境を作る

Page 51: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 51

1. メソッドにPOSTを選択します。

2. URL (https://postman-echo.com/post/)を入力パラメータはここでは入れない

3. Paramsタブを選択して、POSTデータを、Key, Value に分けて入力する

4. Send を押して送信する

POSTのテスト

Page 52: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 52

POSTのテスト(続き)

Page 53: WebベースAPI基礎と Postmanの使い方

Postmanから、Pythonコードの出力

Page 54: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 54

Codeの出力

Page 55: WebベースAPI基礎と Postmanの使い方

認証

Page 56: WebベースAPI基礎と Postmanの使い方

投票質問 3

DevNet Sandboxについて

1. よく使っている

2. 使ったことがある

3. これから使わなければいけない

4. 初めて知った

5. 自分は使わないだろう

Page 57: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 57

Url: https://sandboxdnac2.cisco.com/Username: dnacdevPassword: D3v93T@wK!

DevNet Sandbox

Page 58: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 58

① Basic 認証

PostmanでRequestを作成する

GETメソッドを選択し、URLを入力する

Authorizationタブを選択し、Basic Authを選択する

Username、passwordを入力する

Sendボタンをクリックする

Method GET

URL https://sandboxdnac2.cisco.com

Username dnacdev

Password D3v93T@wK!

Page 59: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 59

① Basic 認証(続き)Method GET

URL https://sandboxdnac2.cisco.com

Username dnacdev

Password D3v93T@wK!

Page 60: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 60

② Token認証Method POST

URL https://sandboxdnac2.cisco.com/api/system/v1/auth/token

Username dnacdev

Password D3v93T@wK!

Page 61: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 61

② Tokenを変数に代入

戻り値(Token)をglobal変数に代入することが可能

Testsタブを選択し、戻り値を変数に代入するコードを記入

let json = JSON.parse(responseBody)

let ok = responseCode.code == 200

if(ok){

pm.globals.set('token',json.Token)

}

Page 62: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 62

右上のボタンをクリック

Globalsをクリック

代入された変数の確認

Page 63: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 63

認証ができない場合

Page 64: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 64

② Tokenを利用

Headersタブを選択

KEY,VALEを入力

Key VALUE

X-auth-token {{token}}

Page 65: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 65

Paramsタブ

フィルタ

Key VALUE

softwareType IOS-XE

Page 66: WebベースAPI基礎と Postmanの使い方

さいごに

Page 67: WebベースAPI基礎と Postmanの使い方

© 2020 Top Out Human Capital, Inc. All Right Reserved. 67

関連コースの紹介

DevNet関連コース https://www.topout.co.jp/cisco

-DevNet Associate対応コース

• DEVASC (Developing Applications and Automating Workflows using Cisco Core Platforms)

-DevNet Specialist / Professional対応コース

• DEVCOR (Developing Applications Using Cisco Platforms and APIs)

-前提条件のPythonの習得に https://www.topout.co.jp/python

• Python 初級編・中級編・ネットワーク編・自動化編・サーバ編

Page 68: WebベースAPI基礎と Postmanの使い方

ご清聴ありがとうございました

Page 69: WebベースAPI基礎と Postmanの使い方
Page 70: WebベースAPI基礎と Postmanの使い方

© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 70

Thank You

Page 71: WebベースAPI基礎と Postmanの使い方

© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 71

Q&A 画面右側の Q&A ウィンドウから、すべてのパネリスト (All Panelist) 宛に送信してください。

Page 72: WebベースAPI基礎と Postmanの使い方

© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 72

次回のオンラインセミナー予定

[タイトル]Wireless TAC Time -今すぐ現場に効くTips紹介-

[日程]2021 年 1 月 27 日 (水) 10:00 - 11:05

[スピーカー]大崎秀行(Hideyuki Osaki)シスコシステムズグローバル カスタマー エクスペリエンス センターテクニカル コンサルティング エンジニア

※詳細は、シスコ コミュニティ トップページや ニュースレターなどでご案内しております。

Page 73: WebベースAPI基礎と Postmanの使い方

© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 73

シスココミュニティの歩き方

https://community.cisco.com/t5/-/-/ta-p/4021064

Page 74: WebベースAPI基礎と Postmanの使い方

© 2020 Cisco and/or its affiliates. All rights reserved. Cisco Confidential 74

ご参加ありがとうございました。

Community Liveと Cisco Communityの各アンケートにも ぜひ ご協力ください。

Community LiveアンケートはWebexセッション終了後に自動表示、Cisco Communityアンケートは後ほどメールさせて頂きます

Page 75: WebベースAPI基礎と Postmanの使い方