Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
KK
Uploaded by
Kazushi Kawamura
PDF, PPTX
237 views
REST APIに入門する。
インターン生向けにRESTAPIの資料を作成したので、シェア。
Internet
◦
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 46
2
/ 46
3
/ 46
4
/ 46
5
/ 46
6
/ 46
7
/ 46
8
/ 46
9
/ 46
10
/ 46
11
/ 46
12
/ 46
13
/ 46
14
/ 46
15
/ 46
16
/ 46
17
/ 46
18
/ 46
19
/ 46
20
/ 46
21
/ 46
22
/ 46
23
/ 46
24
/ 46
25
/ 46
26
/ 46
27
/ 46
28
/ 46
29
/ 46
30
/ 46
31
/ 46
32
/ 46
33
/ 46
34
/ 46
35
/ 46
36
/ 46
37
/ 46
38
/ 46
39
/ 46
40
/ 46
41
/ 46
42
/ 46
43
/ 46
44
/ 46
45
/ 46
46
/ 46
More Related Content
PPTX
Keycloakのステップアップ認証について
by
Hitachi, Ltd. OSS Solution Center.
PDF
認証の課題とID連携の実装 〜ハンズオン〜
by
Masaru Kurahayashi
PDF
Dapr on Kubernetes
by
Shiho ASA
PDF
DevOpsを支える原則、3つの道
by
Arata Fujimura
PDF
実装して理解するLINE LoginとOpenID Connect入門
by
Naohiro Fujie
PDF
オススメの標準・準標準パッケージ20選
by
Takuya Ueda
PDF
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
by
kwatch
PPTX
KeycloakでAPI認可に入門する
by
Hitachi, Ltd. OSS Solution Center.
Keycloakのステップアップ認証について
by
Hitachi, Ltd. OSS Solution Center.
認証の課題とID連携の実装 〜ハンズオン〜
by
Masaru Kurahayashi
Dapr on Kubernetes
by
Shiho ASA
DevOpsを支える原則、3つの道
by
Arata Fujimura
実装して理解するLINE LoginとOpenID Connect入門
by
Naohiro Fujie
オススメの標準・準標準パッケージ20選
by
Takuya Ueda
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
by
kwatch
KeycloakでAPI認可に入門する
by
Hitachi, Ltd. OSS Solution Center.
What's hot
PDF
RESTful API 入門
by
Keisuke Nishitani
PDF
#idcon vol.29 - #fidcon WebAuthn, Next Stage
by
Nov Matake
PPTX
HTTP2 最速実装 〜入門編〜
by
Kaoru Maeda
PDF
人生がときめくAPIテスト自動化 with Karate
by
Takanori Suzuki
PPTX
脱RESTful API設計の提案
by
樽八 仲川
PPTX
動的コンテンツをオリジンとしたCloudFrontを構築してみた
by
Taiki Kawamura
PPTX
Dataplane programming with eBPF: architecture and tools
by
Stefano Salsano
PDF
Keycloak拡張入門
by
Hiroyuki Wada
PDF
Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例
by
Amazon Web Services Japan
PDF
情報処理技術者のための技術士受験のすすめ
by
akimichi Yamada
PDF
OpenID Connect入門
by
土岐 孝平
PPTX
マイクロサービスにおける 結果整合性との戦い
by
ota42y
PDF
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
by
Keisuke Takahashi
PDF
ざっくり解説 LINE ログイン
by
Naohiro Fujie
PDF
グラフデータベース Neptune 使ってみた
by
Yoshiyasu SAEKI
PDF
これからのネイティブアプリにおけるOpenID Connectの活用
by
Masaru Kurahayashi
PPTX
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
by
Atsushi Nakamura
PDF
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
by
Kazumi OHIRA
PPTX
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
by
Game Tools & Middleware Forum
PDF
MQTTとAMQPと.NET
by
terurou
RESTful API 入門
by
Keisuke Nishitani
#idcon vol.29 - #fidcon WebAuthn, Next Stage
by
Nov Matake
HTTP2 最速実装 〜入門編〜
by
Kaoru Maeda
人生がときめくAPIテスト自動化 with Karate
by
Takanori Suzuki
脱RESTful API設計の提案
by
樽八 仲川
動的コンテンツをオリジンとしたCloudFrontを構築してみた
by
Taiki Kawamura
Dataplane programming with eBPF: architecture and tools
by
Stefano Salsano
Keycloak拡張入門
by
Hiroyuki Wada
Amazon Web Services の本気がみたいか !? スピードと高可用性を両立したゲームインフラの構築と事例
by
Amazon Web Services Japan
情報処理技術者のための技術士受験のすすめ
by
akimichi Yamada
OpenID Connect入門
by
土岐 孝平
マイクロサービスにおける 結果整合性との戦い
by
ota42y
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
by
Keisuke Takahashi
ざっくり解説 LINE ログイン
by
Naohiro Fujie
グラフデータベース Neptune 使ってみた
by
Yoshiyasu SAEKI
これからのネイティブアプリにおけるOpenID Connectの活用
by
Masaru Kurahayashi
「関心の分離」と「疎結合」 ソフトウェアアーキテクチャのひとかけら
by
Atsushi Nakamura
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
by
Kazumi OHIRA
IncrediBuildでビルド時間を最大90%短縮! - インクレディビルドジャパン株式会社 - GTMF 2018 OSAKA
by
Game Tools & Middleware Forum
MQTTとAMQPと.NET
by
terurou
Similar to REST APIに入門する。
PDF
HTTP入門
by
Sho A
PDF
HTTPを理解する
by
IIJ
PDF
HTTP入門
by
Sota Sugiura
PDF
Janogia20120921 yoshinotakeshi
by
Keisuke Ishibashi
PPTX
[BurpSuiteJapan]HTTP基礎入門
by
Burp Suite Japan User Group
PPTX
ネットワーク第3回目
by
Yukiko Kato
PDF
Learn Http Requests & Responses for Test Engineer
by
Takashi Moriyama
PPTX
アドレスバーにURL打ち込んでからページが表示されるまでに 何が起こっているか
by
彰 村地
PDF
Webとは何か
by
teracchi
PDF
AndroidでWebSocket
by
Kohei Kadowaki
PDF
WebSocket + Node.jsでつくるチャットアプリ
by
Kohei Kadowaki
PPTX
Webプログラミング入門
by
Tsuyoshi Kiryu
PPTX
Webプログラミング入門
by
SI TEAM
PDF
20120525 mt websocket
by
Ryosuke MATSUMOTO
PDF
Beginning Java EE 6 勉強会(7) #bje_study
by
ikeyat
PPTX
Httpを振り返ってみる
by
galluda
PDF
HTML5など社内勉強会 Vol.8 - WebSocket
by
George Harada
PDF
WebSocketを学ぼう!
by
Katsuki Chousa
PDF
Webページが表示されるまで
by
Masataka Suzuki
PDF
HTTPのお話
by
nasa9084
HTTP入門
by
Sho A
HTTPを理解する
by
IIJ
HTTP入門
by
Sota Sugiura
Janogia20120921 yoshinotakeshi
by
Keisuke Ishibashi
[BurpSuiteJapan]HTTP基礎入門
by
Burp Suite Japan User Group
ネットワーク第3回目
by
Yukiko Kato
Learn Http Requests & Responses for Test Engineer
by
Takashi Moriyama
アドレスバーにURL打ち込んでからページが表示されるまでに 何が起こっているか
by
彰 村地
Webとは何か
by
teracchi
AndroidでWebSocket
by
Kohei Kadowaki
WebSocket + Node.jsでつくるチャットアプリ
by
Kohei Kadowaki
Webプログラミング入門
by
Tsuyoshi Kiryu
Webプログラミング入門
by
SI TEAM
20120525 mt websocket
by
Ryosuke MATSUMOTO
Beginning Java EE 6 勉強会(7) #bje_study
by
ikeyat
Httpを振り返ってみる
by
galluda
HTML5など社内勉強会 Vol.8 - WebSocket
by
George Harada
WebSocketを学ぼう!
by
Katsuki Chousa
Webページが表示されるまで
by
Masataka Suzuki
HTTPのお話
by
nasa9084
REST APIに入門する。
1.
に入門する 1
2.
目的 2
3.
の基本知識を身につけて 成長を加速させる 3 ※こういう勉強会、インターン主導でやれるようになりたいね
4.
今日の流れ 通信の仕組みについて とは? とは? 実践的な設計手法 おまけ 4
5.
について話す前に 5
6.
での通信でやっていること 6 1. 〇〇の記事一覧が ほしい! 2. 〇〇の記事一覧を 返すね ウェブサーバー
7.
用語 7 ウェブサーバー HTTPリクエスト(Request) HTTPレスポンス(Response)
8.
ブラウザなどのクライアントと サーバーとのや り取りにおける決まりごと(プロトコル) 8 1. 〇〇の記事一覧 が、ほしい! 2.
〇〇の記事一覧を 返すね ウェブ サーバー HTTP この全体のやり取りが
9.
リクエストの例 ・リクエスト対象( ) ・ メソッド ・クライアントの情報 などの内容を持つ 9
10.
10 ウェブ上でのアドレスを指し示す識別子 プロトコル サーバー名 パス
11.
メソッド で定義されているメソッド。 で示すリソースに対して、何を行うかで利用するメソッドを選定 HTTPメソッド 意味 GET リソースの取得 POST
リソースの作成 PUT リソースの更新 DELETE リソースの削除 PATCH リソースの部分更新 11
12.
レスポンスの例 ・ステータスコード ・ステータス文字列 ・ のバージョン などの内容を持つ 12
13.
ステータスコード 処理の実行結果を数値で表現 ・ 系は成功 ・ 系はクライアント系のエラー ・
系はサーバーサイドのエラー 13
14.
ステータスコード HTTPステータスコード 意味 200 OK リクエストに成功し、情報とともにレスポンス を返す場合 201
CREATED リクエストに成功し、新しく作成されたリソースを返す 場合 400 BAD REQUEST 定義されてないメソッドを使用した場合や、 リクエストのフォーマットがおかしい。 401 UNAUTHORIzED 認証が必要な場合 403 FORBIDDEN リソースへのアクセスが拒否された場合 404 NOT FOUND リソースが見つからなかった場合 500 INTERNAL SERVER ERROR サーバ内部エラーの場合 14
15.
での通信 まとめ 15 GET /articles HTTP/2 HTTP/2
200 OK ウェブサーバー HTTP リクエスト HTTP レスポンス
16.
1
17.
17 とは、他のプログラムから利用するためにソフ トウェアの機能を共有すること によって、アプリケーション同士で連携すること が可能になる。
18.
18 は、 の中でも特に、 で通信することを前提とした 。 例えば、スマホアプリがサーバーとやり取り するときにも
を利用するのが一般的。
19.
の設計手法 最近はほとんどみない 主流 最近、 が開発 19
20.
とは? 20
21.
とは 美しい設計 今から説明します の原則に従った を
と呼ぶ 21
22.
とリクエストを設計する 22
23.
再掲 リクエストの例 ・リクエスト対象( ) ・
メソッド ・クライアントの情報 などの内容を持つ 23
24.
基本的な の設計 覚えやすく、どんな機能をもつ なのかひと目でわかる ・短くて入力しやすい ・人間が読んで理解できる ・大文字小文字が混在してない ・改造しやすい ・サーバー側のアーキテクチャが反映されてない 24
25.
短くて入力しやすい BAD http://api.example.com/service/api/search GOOD http://api.example.com/search 25
26.
人間が読んで理解できる BAD http://api.example.com/sv/u http://api.example.com/productos/12345 http://api.example.com/seihin/12345 GOOD http://api.example.com/products/12345 26
27.
大・小文字が混在していない BAD http://api.example.com/Users/12345 http://api.example.com/API/getUserName GOOD http://api.example.com/users/12345 27
28.
改造しやすい BAD http://api.example.com/items/alpha/1 http://api.example.com/items/beta/10 http://api.example.com/items/gamma/20 GOOD http://api.example.com/items/12 28
29.
ルールが統一された BAD http://api.example.com/friends?id=100 http://api.example.com/friends/100/messages GOOD http://api.example/com/friends/100 http://api.example.com/friends/100/messages 29
30.
メソッドを使った設計 ・名詞で構成 表現するのはあくまでもリソースでありアクションではない のパス内に動詞は存在しないのが基本 ・取得、作成、削除、修正、したいのかは のメソッドで指定 GET api.example.com/v1/users GET
api.example.com/v1/users/1/messages POST api.example.com/v1/users 30
31.
をバージョンで管理する 別のエンドポイントを作成する 古い はの残す 市場に出ている古いバージョンのクライアン トに対応 バージョン管理できる設計にしとくのが大事 31
32.
レスポンスを設計する 32
33.
再掲 レスポンスの例 ・ステータスコード ・ステータス文字列 ・ のバージョン などの内容を持つ 33
34.
データ・フォーマット 34
35.
35
36.
36 テキストベースのフォーマット 簡潔で構造化されてる ほぼすべての言語に が存在
37.
データの内部構造 リソースの抽出 のテーブルをそのまま公開しない のアクセス回数がなるべく少なく 37
38.
データの内部構造 38 { friends: [ 123123, 32323, 24343, 88482, //.. ] } { friends: [ { “id”:
123123, “name”: “Kazushi”, “job”: “engineer”, }, { “id”: 32323, “name”: “Iwark”, “job”: “CTO”, }, //.. ] }
39.
各データのフォーマット 39 スネークケース キャメルケース 性別のデータをどう表すか 日付のデータをどう表すか などなど
40.
エラーの表現 ステータスコードでエラーを表現する エラーの詳細をクライアントに返す 40
41.
エラーの詳細 41 // Twitter { error: [ { “message”:
“Bad Request”, “code”: 400 } ] } // Github { message: “Not Found’, documentation_url: ‘https://www.developer.git..“ }
42.
おまけ 42
43.
43
44.
最後に 44
45.
アンケート 45
46.
需要があれば 中級編 かっこいい コマンド データベース 入門 関数型プログラミング
入門 なんでも 46
Download