1. リンク

リンク

Sitecore Content Hub の REST API はハイパーメディア API であるため、リソース間のリンクは重要な役割を果たします。適切なリンクをたどることで、API にあるどのリソースにもサービス エンドポイントからアクセスできます。

リンクが重要となる主な理由は、クライアント (および一部のサーバー) では、表現の場所がその表現と共に保存されないことにあります。たとえば、wget http://.../foo.json を指定すると、その表現はディスクに保存されますが、そのフェッチ元である URI は保存されません。"自己" リンクが埋め込まれていない表現では、次の 2 つの問題が発生します。

  1. 相対リンクを解決する基準となるリンクがなくなることがあり、ドキュメントにある相対リンクが "破損" リンクになります。
  2. クライアントには、たとえばドキュメントが変更された場合に、そのドキュメントをサーバーのどこに戻すかについて埋め込まれた概念がありません。

HTTP によるやり取りの外部でも表現が有効であることが考えられ、その場合は、他のプロトコル (電子メール、FTP、書籍など) でその表現が転送される可能性があることを理解する必要があります。したがって、Link オブジェクトは、ほとんどすべてのリソースに配置する重要なオブジェクトです。

"自己" リンクの使用方法の詳細については、Roy Fielding 氏による優れた記事「REST APIs must be hypertext-driven」およびスタック オーバーフローに関する説明「What is the importance of the self link in hypermedia APIs?」と「Link to another resource in a REST API: by its ID, or by its URL?」を参照してください。

この記事を改善するための提案がある場合は、 お知らせください!