REST API
20763 ワード
REST API
→任意のプラットフォーム、任意の言語またはソフトウェアの間でHTTP情報交換がある場合はrestルールを守ってください.
restfulサービス
RESTとは?
Representational State Transfer
「
RESTルールに従って設計されたAPI
API
インタフェースとは?
機器を製造する際には、ユーザーがこれらの機能を使用できるように制御装置(==インタフェース)を備えなければならない.
*機能操作だけでなく、情報を受信するためのインタフェースもあります.
TV-リモコン、画面
コンピュータ-キーボード、マウス、ディスプレイ
自動販売機-ボタン
ソフトウェアインタフェースとは?
ex)ボタン、スクロールバー、スライダ、ブラウザウィンドウ
ex)気象局サーバを介して気象情報を受信するWeb・アプリケーション
ex) web API, Window API
システムやハードウェアについて詳しく知る必要がなく、指定したコマンド言語でアクションを実行できます.
関数のパラメータ→情報、機能ユーザの要求
関数の成果物→情報、機能プロバイダの応答
=他人が作成した機能関数としてフォーマットに従って作成
rest API
クライアントとサーバがデータを要求して転送する場合、今日広く使用されているREST形式のAPIに従います.
各リクエストがどのような動作や情報のために行われているのか,そのリクエストの様子自体が推定できる.
RESTful APIは,要求されたアドレスを送信するだけで要求の用途を大まかに知ることができる.
rest apiの2つの基本規則
URIは表現リソースに焦点を当て,行動の定義はHTTP法によりREST APIを設計する中心ルールである.
1.URIは情報のリソースを表す必要があります。
URIとは?
すべてのリソースに一意のIDがあり、IDはサーバ上に存在します.
クライアントは、各リソースのステータスを操作するためにサーバに要求を送信します.
HTTPでこれらのリソースを区別するIDは、「Studio/1」のようなHTTP URIである.
{
"topics": [
{
"id": 1,
"title": "REST",
"body": "REST is..."
},
{
"id": 2,
"title": "FETCH",
"body": "FETCH is..."
},
{
"id": 3,
"title": "JSON",
"body": "JSON is..."
}
]
}
Collection複数のデータ要素は複数の形式を使用します.
Element
1つのデータ要素は主にidを使用します.
名前を使用する場合は、単数形式を使用します.
2.リソースに対する挙動は、HTTPメソッド(GET、POST、PUT、DELETEなど)として表現される。
クライアントはURIを使用してリソースを指定し、メソッドを使用してリソースを操作します.HTTPプロトコルは、GET、POST、PUT、DELETEなどの方法を提供する.
したがって,httpが持つ方法を用いる.
1.生成-post
2.読む
3.修正-put(完全置換)/patch(局所置換)
4.削除-delete
fetch例
Fetch()関数は、1番目のパラメータURL、2番目のパラメータでオプションオブジェクトを受信し、応答またはエラーオブジェクトを返します.fetch(url, options)
.then((response) => console.log("response:", response))
.catch((error) => console.log("error:", error));
optionsオブジェクトコンポーネント
fetch(url, options)
.then((response) => console.log("response:", response))
.catch((error) => console.log("error:", error));
// https://jsonplaceholder.typicode.com/posts
[
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
},
{
"userId": 1,
"id": 2,
"title": "qui est esse",
"body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
},
{
"userId": 1,
"id": 3,
"title": "ea molestias quasi exercitationem repellat qui ipsa sit aut",
"body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"
},
]
GET呼び出し[読み込み]
招待を受けない→体がない
fetch("https://jsonplaceholder.typicode.com/posts/1", {
method: "GET",
})
.then((response) => response.json())
.then((data) => console.log(data));
//
{
"userId": 1,
"id": 1,
"title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
"body": "quia et suscipit↵suscipit recusandae consequuntur …strum rerum est autem sunt rem eveniet architecto"
}
POSTコール[作成]
bodyに生成するデータを書く
*userIdは生成時に生成されるので書かない
fetch("https://jsonplaceholder.typicode.com/posts", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
title: "Test",
body: "I am testing!",
userId: 1,
}),
})
.then((response) => response.json())
.then((data) => console.log(data));
//
{title: "Test", body: "I am testing!", userId: 1, id: 101}
PUT呼び出し[修正]
fetch("https://jsonplaceholder.typicode.com/posts/1", {
method: "PUT",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
title: "Test",
body: "I am testing!",
userId: 1,
}),
})
.then((response) => response.json())
.then((data) => console.log(data));
//
{title: "Test", body: "I am testing!", userId: 1, id: 1}
DELETE[削除]を呼び出す
招待を受けない→体がない
fetch("https://jsonplaceholder.typicode.com/posts/1", {
method: "DELETE",
})
.then((response) => response.json())
.then((data) => console.log(data));
//
{}
コメントリンクhttps://poiemaweb.com/js-rest-api
https://hckcksrl.medium.com/rest蘭C 602 c 3324196
Reference
この問題について(REST API), 我々は、より多くの情報をここで見つけました https://velog.io/@yooon26/REST-APIテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol