2016-08-26 4 views
0

私はSpringフレームワークを使ってRestとjsonを使っています。HTTPはRest Architectureと呼ばれるjson形式オブジェクトを受け入れますか?

私はいくつかの疑問を持っています。

1)httpをjsonの形式で転送するデータは、Restと呼ばれることがあります。httpはプロトコルであり、Restはアーキテクチャスタイルです。

2)(任意のクライアントから送信された)jsonの形式でデータを受け入れるアプリケーション(url)は、Rest?

2)なぜsoap protocalがhttpでフードを使用していますか?

答えて

1

RESTは、HTTPまたはJSONの完全に独立した建築様式であるHTTPに結合されます。 ReSTは本当にドメインを「リソース」のセットとしてモデル化することについて話しています。すべてのリソースには、他のリソースと区別される固有の識別子があります。クライアントは共通のプロトコルを使用してリソースと対話し、リソースはその表現を操作することによって作成/変更/削除されます。

HTTPとJSONはどちらも、ReSTfulアーキテクチャの特定の実装の側面です。 HTTPは、HTTPの一連の動詞(GET、PUT、POST、DELETE)の形で共通のAPIを提供する、ReSTfulアプリケーションのための優れたトランスポート・メカニズムです。 JSONは優れたドキュメント転送フォーマットであるため、ReSTの表現形態を実装するためによく使用されますが、ReSTfulアプリケーションでは他のドキュメントフォーマットを使用できます(XML、JPEG、AVI、MP3などを使用するReSTfulアプリケーションを見つけることができます)。 ..

HTTPでもJSONも具体的にReSTfulではなく、ReSTfulではないJSONを使用してHTTPアプリケーションを完全に見つけることはできません。同様に、すべてのReSTfulアプリケーションがJSONまたはHTTPを使用するわけではありません(ただし、HTTP/HTTPSを使用しない実際のアプリケーションは見たことがありません)。

+0

JSONを使用していますが安心して使用できないアプリケーションはありますか?また、httpを使用していない安らかなアプリを見たことがありますか(この場合、転送はどのように処理されますか) –

+0

JSON入力を処理し、JSONで適切な出力を与えるHTTPアプリケーションを構築していれば、アプリケーションをRestfulアーキテクチャに従って呼び出すことができますか? –

+0

任意のトランスポートメカニズムを使用してReSTfulアプリケーションを構築できます.HTTPだけではありません。また、JSONを受け入れるHTTPアプリケーションはReSTfulかもしれません。それが古い学校のCGIアプリケーションのように振る舞うならば、それはReSTfulではありません。 – sisyphus

1

残りはJSONに関するものではなく、GET、POST、PUT、DELETE、および関連する回答のhttpコードもあります。

あなたはすべてのアクションに対してJSONを投稿した場合、それはRESTのすべてで安らか

ではありませんが、リソースです。

HTTPはアプリケーション層です。それは本当にRESTの概念を持っていません。 httpを介してWebページが表示されますが、これはまったくRESTではありません。したがって、SOAPではhttpも使用できます。

HTTPはRESTにバインドされていないが、RESTは

1

他のコメントで述べたように、RESTfulはアーキテクチャですが、言語やコーディングのパラダイムではありません。

RESTful: 何かanti-RESTはJSON-RPC(https://github.com/ethereum/wiki/wiki/JSON-RPC)です。フレームワークはリモートプロシージャコールライブラリです。 RPCレイヤーは特定のリソース(すなわち名詞)ではなく関数(すなわち動詞)にURLをマップするため、JSON-RPCはRESTfulではありません。だから、いくつかのリソースにPOSTするのではなく、データをシリアル化するフォーマットとしてJSONを呼び出すことになります。それぞれにはトレードオフがあります。それはまあまあです。RESTful APIは、公開されたAPIには非常に共通しています。多くの人がドキュメンテーションを外部に明瞭にできると信じています。

JSON: 一方、RESTfulアーキテクチャを開発し、JSONを使用することはできません。多くのシリアライゼーションライブラリがあり、それぞれが圧縮やスキーマレスなどのトレードオフとタイプセーフティに近いものがあります。 JSON以外の例には、MessagePackとGoogleのProtoBufsがあります。粗いものの中でも、RESTful APIでは珍しいことですが、XMLを使用することさえ可能です。ほとんどの言語でJSONシリアル化を行うことができます(特定のライブラリをインポートしないなど)。

関連する問題