REST API
読む前に..。
Restfulとは何かを検索していたところ、RestAPIに関する良い動画を見たので、まずRestAPIを勉強したいと思い、この文章を書きました.
次の文章はビデオに基づいて書かれています.
https://www.youtube.com/watch?v=RP_f5dMoHFc
REST API
RESTの略称は
問:どのようにネット上で情報を共有しますか?
A:ハイパーテキストへのリンク
では、HTTPを修復すればWebが崩壊するという悩み
HTTPオブジェクトモデルの後にRESTが発行されます.
REST API
では、RESTを構成するスタイルは、次のとおりです.
code-on-demand(オプション)の場合、サーバはコードをクライアントに送信して実行し、code-on-demandになる必要があります.
しかし、1つの統合インタフェースだけでは満足できません.
uniform interface
統合インタフェースの制約は4種類あります.
self-descriptive messages
情報は自分を説明しなければならない.
GET / HTTP/1.1
GET / HTTP/1.1
HOST: www.example.org
HTTP/1.1 200 OK
[ { "op" : "remove", "path": "/a/b/c" }]
HTTP/1.1 200 OK
Content-Type: application/json
[ { "op" : "remove", "path": "/a/b/c" }]
HTTP/1.1 200 OK
Content-Type: application/json-patch+json
[ { "op" : "remove", "path": "/a/b/c" }]
メッセージの内容として完全に解釈できるはずです.
hypermedia as the engine of application state (HATEOAS)
アプリケーションのステータスはHyperlinkで移行する必要があります.
HTTP/1.1 200 OK
Content-Type: text/html
<html>
<head></head>
<body><a href="/test">test</a></body>
</html>
HTMLであればHATEOASを満たし、a
タグでHyperlinkが現れ、Hyperlinkで次の状態に移行するので満足です.なぜ統合インタフェースが必要なのか
独立進化
上の内容を聞いて考えたら、どういう意味か分かりました.特定のページで変化したブラウザを更新していないからです.
相互運用性への関心
結論:本当に起きられない人がたくさんいます.
REST APIはRESTのすべての制約条件を遵守すべきですか?
リソースのAPIには、ハイパーテキストの自己記述メッセージを含む統合インタフェースを介してアクセスします.
あなたに守らせるという意味です.
APIはなぜRESTをサポートしないのですか?
一般的なWebページHHTP API HTTP通信者-マシン-マシンメディアタイプHTML JSON(マシンは理解できる)
それはJSONのせいですか??
HTML、JSON比較
未定義のHTML JSOnHyperlink(Aタグなど)自己記述(HTML説明)不完全*
欠けている
HTML
GET /todos HTTP/1.1
HOST: example.org
HTTP/1.1 200 OK
Content-Type: text/html
<html>
<body>
<a href="https://todos/1" 회사 가기 </a>
<a href="https://todos/2" 집에 가기 </a>
</body>
</html>
Self-descriptiveGET /todos HTTP/1.1
HOST: example.org
HTTP/1.1 200 OK
Content-Type: application/json
[
{"id": 1, "title" : "회사 가기"},
{"id": 2, "title" : "집에 가기"}
]
Self-descriptiveHATEOAS
では、上記の2つの制約条件はどのように独立進化に役立つのでしょうか。
Self-descriptive
拡張可能な通信を可能にする.
アプリケーション状態遷移のlate binding
これは、
n/a.結論
本当に素晴らしいビデオでした発表を聞いた時に順番によく理解してくれました一度だけ聴いても理解できますが、また触れたい映像のようです.
まず今日、REST APIについての内容を知りましたので、簡単にSpringプロジェクトにします.
Reference
この問題について(REST API), 我々は、より多くの情報をここで見つけました https://velog.io/@lilllee/REST-APIテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol