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

Post on 18-Mar-2022

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

December 15th, 2020

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

10時より開始します

Cisco Community Expert Series Community Live

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

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

© 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 ウィンドウが画面右側に見つからない場合はここから表示

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

ご質問方法

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

© 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

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

会社紹介とご案内

Top Out Human Capital 株式会社

© 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など)

Katsushi IiyamaTop Out Human Capital 株式会社

December 15th, 2020

Cisco Community Expert Series Community Live

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

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

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

投票質問 1

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

1. 資格を取得済み

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

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

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

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

投票質問 2

本日説明するPostmanについて

1. よく使っている

2. 使ったことがある

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

4. 初めて知った

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

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

はじめに

Postmanのインストール

WebベースAPIの基礎

Postmanについて

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

- Postmanを使ってPOSTのテスト

Postmanから、Pythonコードの出力

認証

さいごに

本日の目次

はじめに

© 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)

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

WebベースAPIの利用例

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

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

管理画面から操作

利用者

© 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を構築および使用するための共有コンテキストを提供し、組み込みのバージョン管理を使用してリアルタイムでコラボレーション

します。

© 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

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

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

Postmanのインストール

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

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

Download Postman

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

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

-アカウント作成

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

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

インストール

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

起動後の動作は後程

Postmanの起動

アイコンをクリック

WebベースAPIの基礎

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

APIにおける基本的な通信

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

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

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

© 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>

リクエスト(要求)

メソッド

プロトコルバージョン

リソース

リクエストヘッダ

空行

リクエストボディ

© 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"

}

}

プロトコルバージョン

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

レスポンスヘッダ

空行

レスポンスボディ

ステータス行

© 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

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

© 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(削除)を略した言葉です。

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

APIの通信の例

© 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 サーバがリクエストを完遂できない

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

Postmanについて

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

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の紹介

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

各部の説明 ヘッダーバー

サイドバービルダー

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

メニューバー紹介

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

コレクション

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

コレクション – 認証

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

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

Click

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

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

Importが可能

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

メソッドの使用例

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

環境変数の管理(Manage Environments)

リクエスト送信

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

1. メソッドにGETを選択

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

3. Send を押して送信

初めてのリクエスト送信

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

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

レスポンス詳細

レスポンスステータス

レスポンスボディ

形式

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

Responseヘッダの確認

© 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をクリック

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

サーバからの返答

c

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

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

テスト環境の保存方法

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

複数のテスト環境を開く

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

保存されたテスト環境

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

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

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

© 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のテスト

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

POSTのテスト(続き)

Postmanから、Pythonコードの出力

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

Codeの出力

認証

投票質問 3

DevNet Sandboxについて

1. よく使っている

2. 使ったことがある

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

4. 初めて知った

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

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

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

DevNet Sandbox

© 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!

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

① Basic 認証(続き)Method GET

URL https://sandboxdnac2.cisco.com

Username dnacdev

Password D3v93T@wK!

© 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!

© 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)

}

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

右上のボタンをクリック

Globalsをクリック

代入された変数の確認

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

認証ができない場合

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

② Tokenを利用

Headersタブを選択

KEY,VALEを入力

Key VALUE

X-auth-token {{token}}

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

Paramsタブ

フィルタ

Key VALUE

softwareType IOS-XE

さいごに

© 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 初級編・中級編・ネットワーク編・自動化編・サーバ編

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

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

Thank You

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

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

© 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)シスコシステムズグローバル カスタマー エクスペリエンス センターテクニカル コンサルティング エンジニア

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

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

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

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

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

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

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

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

top related