web-dev-qa-db-ja.com

リソースとエンドポイントの違いは何ですか?

私は "リソース"と "エンドポイント"の両方が同じことを指すと聞いたことがあります。リソースは新しい用語のようです。

それらの違いは何ですか? 「リソース」はRESTfulなデザインを意味しますか?

102
B Seven

私はリソースをRESTfulなエンドポイントのサブセットと見なします。

RESTでは、リソースは通常、APIエンドポイントで公開されているオブジェクトまたはオブジェクトのセットを指します。

/api/users/johnny

エンドポイント自体は、RESTfulな場合とそうでない場合があるWeb要求を受け入れるURIへの単なる参照です。

/services/service.asmx

w3 metadata docs からの次の参照は、一般的な意味でリソースを参照していませんが、それでも2つの用語がどのように関連しているかに意味を与えます。

3.3用語

サービスエンドポイント:WS-Addressingエンドポイント参照を使用してアドレス指定可能なWebサービス。この仕様の文脈の中では、消費者の主な目的はこのサービスと対話することであると仮定されます。

メタデータリソース:WS-Addressingエンドポイント参照またはURLのいずれかを使用してアドレス指定可能で、サービスエンドポイントに関連付けられたメタデータのXML表現を公開することを主な目的とする特殊なWebサービス。

技術的には単一のWebサービスを「サービスエンドポイント」と「メタデータリソース」の両方にすることができますが、この2つのタイプのWebサービスのさまざまな期待を明確にする目的で異なるエンティティ.

その他の参考資料 -

Webサービスのエンドポイントとは何ですか?

http://en.m.wikipedia.org/wiki/Web_resourcehttp://en.m.wikipedia.org/wiki/Web_service

エンドポイントとしてのリソースを参照します。

http://developers.lyst.com/2015/02/20/1-to-1-relationships-and-subresources-in-rest-apis/

69
cchamberlain

resourceおよびendpointという用語は、多くの場合同義語として使用されます。しかし実際にはそれらは同じことを意味するのではありません。

エンドポイントという用語は、要求を出すために使用されるURLに焦点を当てています。
リソースという用語は、要求によって返されるデータセットに焦点を当てています。

さて、同じリソースは複数の異なるエンドポイントでアクセスできることがよくあります。
また、同じエンドポイントは、クエリ文字列によっては異なるリソースを返すことがあります。

いくつか例を見てみましょう。

同じリソースにアクセスする異なるエンドポイント

さまざまなエンドポイントの次の例を見てください。

/api/companies/5/employees/3
/api/v2/companies/5/employees/3
/api/employees/3

明らかに、それらはすべて与えられたAPIの中の非常に同じリソースにアクセスすることができます。

既存のAPIも完全に変更される可能性があります。これにより、まったく異なる別のURLを使用して同じ古いリソースにアクセスする新しいエンドポイントが発生する可能性があります。

/api/employees/3
/new_api/staff/3

1つのエンドポイントが異なるリソースにアクセスする

エンドポイントがコレクションを返す場合は、クエリ文字列を使用して検索/フィルタリング/並べ替えを実装できます。その結果、以下のURLはすべて同じエンドポイント/api/companies)を使用しますが、それらは別のリソース(またはリソースコレクションを定義によって返すことができます)それ自体がリソースです。

/api/companies
/api/companies?sort=name_asc
/api/companies?location=germany
/api/companies?search=siemens
59
Jpsy

おそらく私のものは良い答えではありませんが、ここに行きます。

HTTP上で真にRESTfulなWebサービスを扱うようになって以来、エンドポイントという用語は明確に定義されていないので使わないようにしています。代わりにリソースとリソースの場所であるREST 。

私の考えでは、エンドポイントはTCPの用語です。 URLの一部が待機中のサーバーを識別するため、HTTPと競合します。

したがって、リソースは新しい用語ではありません。エンドポイントは常に流用されているとは思いません。RESTをとして頭に入れていることに気付いています。 )APIのスタイル

編集

私はこれについてブログしました。

https://medium.com/@lukepuplett/stop-saying-endpoints-92c19e33e819

3
Luke Puplett

に従って https://apiblueprint.org/documentation/examples/13-named-endpoints.htmlリソースですa "与えられたエンティティの一般的な "保管場所 - 例一方、エンドポイントは、特定のリソースに対する具体的なアクション(HTTPメソッド)です。したがって、1つのリソースに複数のエンドポイントを含めることができます。

2
Dafka

1。リソースの説明「リソース」とは、APIによって返される情報のことです。

2。エンドポイントとメソッドエンドポイントはリソースへのアクセス方法を示し、メソッドはリソースとの許可された対話(GET、POST、DELETEなど)を示します。

追加情報:3。パラメータパラメータは、応答に影響を与えるためにエンドポイントとともに渡すことができるオプションです(応答形式や返される量の指定など)。

4。要求例要求例には、エンドポイントを使用したサンプル要求が含まれており、設定されたいくつかのパラメータが示されています。

5。応答例とスキーマ応答例は、要求例からの応答例を示しています。応答スキーマは、応答内のすべての可能な要素を定義します。

出典 - 参照リンク

0
Manthan_Admane