web-dev-qa-db-ja.com

REST APIエントリポイントとエンドポイント

REST APIエントリポイントとは何ですか?エンドポイントとどのように違うのですか?

私はさまざまな定義をオンラインで検索しましたが、それでも頭を抱えているようには見えません(私は一般的にAPIに慣れていません)。私が理解していることから、それらはサーバーと通信する手段を提供しますが、それらは正確には何であり、エントリポイントとエンドポイントはどのように類似または異なりますか?

8
David Sarpong

エントリポイントを単に話すことは、http://api.your-company.comのようなもので、クライアントは事前の知識なしにこのポイントを入力します。 APIは、クライアントが次に何ができるかについて情報に基づいた選択を行うために知る必要があるすべてをクライアントに教えます。

エンドポイントについて Wikipedia つまり、次のように述べます。

エンドポイント、サービス指向プロセスのサービス、プロセス、またはキューまたはトピック宛先へのエントリーポイント

広い意味では、エンドポイントは、要求を処理する(またはロードバランシングの場合は他のいくつかのマシンに委任するなど)必要がある、呼び出されたターゲットホストにすぎません。より狭い意味では、エンドポイントは、リクエストを処理するために呼び出されるサーバー側のものにすぎません。つまり、http://api.your-company.com/users/12345のようなURIはユーザー表現を要求します(GETリクエストを想定)。具体的なユーザーは処理されるリソースですが、エンドポイントは実際には、Spring(または選択したフレームワーク)ベースのサービスであり、http://api.your-company.com/users/*に関連するすべてを対象とするすべてのリクエストを処理します。

6
Roman Vottner

ここでRoman Vottnerに同意し、親指をあきらめました。明確なアイデアを得ようとしている人のために、ここにリンクをいくつか追加したいだけです。

APIエンドポイント

私はここの答えが好きです: https://smartbear.com/learn/performance-monitoring/api-endpoints/

「簡単に言えば、エンドポイントは通信チャネルの一端です。APIが別のシステムとやり取りする場合、この通信のタッチポイントはエンドポイントと見なされます。APIの場合、エンドポイントにはサーバーのURLを含めることができますまたはサービス。各エンドポイントは、APIが機能を実行するために必要なリソースにアクセスできる場所です。 "

そしてここにサンプル: エンドポイントとは何ですか?

  https://example.com/api/login
  https://example.com/api/accounts
  https://example.com/api/cart/items

APIエントリポイント

ここを見てください: https://restful-api-design.readthedocs.io/en/latest/urls.html

"RESTful APIには1つだけのエントリポイントが必要です。エントリポイントのURLは、APIクライアントがAPIを見つけることができるように通信する必要があります。技術的には、エントリポイントはコレクションの外部に存在するシングルトンリソースと見なされます。」

したがって、前の例に従って、それは次のようになります。

  https://example.com/api

補足:GraphQLの世界では、single endpoint AP​​Iの場合、エントリポイントはありません( https://graphql.org/learn/best-practices/#http )。通常の形で

  https://example.com/graphql
11
tiomno