Restful-resources

提供:Dev Guides
移動先:案内検索

RESTful Webサービス-リソース

リソースとは何ですか?

RESTアーキテクチャは、すべてのコンテンツをリソースとして扱います。 これらのリソースには、テキストファイル、Htmlページ、画像、ビデオ、または動的なビジネスデータがあります。 RESTサーバーは、単にリソースへのアクセスを提供し、RESTクライアントはリソースにアクセスして変更します。 ここで、各リソースはURI/グローバルIDによって識別されます。 RESTはさまざまな表現を使用して、テキスト、JSON、XMLのリソースを表します。 リソースの最も一般的な表現はXMLとJSONです。

リソースの表現

RESTのリソースは、オブジェクト指向プログラミングの同様のオブジェクト、またはデータベースのエンティティのようなものです。 リソースが識別されると、サーバーが上記の形式でリソースを送信でき、クライアントが同じ形式を理解できるように、標準形式を使用してその表現が決定されます。

たとえば、リンク:/restful/restful_first_application [RESTful Web Services-First Application]の章では、ユーザーは次のXML形式を使用して表されるリソースです-

<user>
   <id>1</id>
   <name>Mahesh</name>
   <profession>Teacher</profession>
</user>

同じリソースは、次のようにJSON形式で表すことができます-

{
   "id":1,
   "name":"Mahesh",
   "profession":"Teacher"
}

優れたリソース表現

RESTは、リソース表現の形式に制限を課しません。 クライアントはJSON表現を要求できますが、別のクライアントは同じリソースのXML表現をサーバーなどに要求できます。 クライアントが理解できる形式でリソースをクライアントに渡すことは、RESTサーバーの責任です。

以下は、RESTful Webサービスでリソースの表現形式を設計する際に考慮すべき重要なポイントです。

  • 理解度-サーバーとクライアントの両方が、リソースの表現形式を理解して利用できる必要があります。
  • 完全性-フォーマットはリソースを完全に表現できる必要があります。 たとえば、リソースには別のリソースを含めることができます。 フォーマットは、リソースの単純な構造と複雑な構造を表現できる必要があります。
  • リンク-リソースは別のリソースへのリンケージを持つことができ、フォーマットはそのような状況を処理できるはずです。

ただし、現在、ほとんどのWebサービスは、XML形式またはJSON形式を使用してリソースを表しています。 XMLおよびJSONデータを理解、解析、および変更するために利用できるライブラリとツールがたくさんあります。