正しいJSON APIまたはJSON RPC

JSON APIとは何ですか?


確かに多くの人が知っています。

JSON - JSONデータ交換のテキスト形式
API - APIアプリケーションプログラミングインターフェース

ここのキーワード:データ交換インターフェース。

A、それではJSON-RPCとは何ですか?



JSON-私たちはすでに知っています。

RPC-リモートプロシージャコールRPC

JSON-RPCはリモートデータ交換と結論付けています。

確かに、このデータ交換は特定のインターフェース、つまり APIを使用します。

そして、問題は何ですか?! お願いします。 そして事実は、JSON API、つまりインターフェースを開発している一部のプログラマーがJSON-RPCを忘れてしまい、自転車の別の発明が始まったということです。 フロントエンドプログラマーは「私はあなたにそのようなjsonを提供します」と言い、バックエンドプログラマーは「私はあなたにそのようなjsonを返します」と答えます。 そして、すべてがうまくいきますが、賢い人々は長い間標準を開発したか、むしろデータ交換プロトコルを持っていることを覚えておくといいでしょう。 超複雑なものではなく、非常に単純なもの: JSON-RPC

ほとんどの場合、ほとんどの人がこれらのプロトコルを知っており、使用しているとさえ言えません。 多数のサーバーが書き込まれます。 しかし、個人的には、既存のプロトコルですべてが私に適しているわけではありません。 彼らは十分に柔軟性がなく、すべてにおいて論理的ではないように見えました。 ご想像のとおり、自転車json-rpc-1.5を発明することにしました

既存のプロトコルとの主な違いは次のとおりです。



思われるかもしれません。 違いは小さいが、基本的に重要であること。
ところで、このプロトコルは実際に登場しています。 JSON APIを作成するとき、このプロトコルで説明されているアプローチを使用しました。

PS:


たくさんの否定的なコメントとマイナスを受け取ったので、もう一度チェックすることにしました。多分本当に間違ったことをしているのでしょうか? 当然、私がここに書いているのは私の個人的な意見であり、誰にも何も課していません。 いくつか例を挙げましょう。
1. YandexダイレクトJSON APIリクエストの例:
{ "method": "GetClientInfo", "param": ["agrom"], "locale": "ru", "token": "0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f" } 

トークンについても読むことができます: 認可トークン

2. Apple Payを使用したモバイルアプリケーションからのSberbank API Paymentの
JSONリクエストは行いません。サイズが大きいため、リンクを確認できます。
JSONリクエストに「paymentToken」が含まれていることが重要です。 Appleのトークン形成要件へのリンクはこちら

APIのトークンと署名は、当然他の保護方法とともに頻繁に使用されることを理解することが重要です。 そして、さまざまなAPIを使用する人はこれを非常によく知っています。

Source: https://habr.com/ru/post/J429524/


All Articles