2012-04-10 16 views
1

サイトはパスでリソースを持っている場合:HTTPリソースの親パスには常にリソースが必要ですか?

/things 

また、そのため、リソースを持っている必要があります?

/things/27 

は、任意の公表基準をい、パスがあることを示しますか

これは私が同僚と話し合ったことであり、Unixのバックグラウンドから来ています(ファイル構造ベースのHTTPサーバーの古いメモリを覚えています)。私の傾向は「はい」と答えていました。親リソースが暗示され、しかし、私の同僚は、サイトのどこかの「/物」への特定のリンクがない限り、このパスにリソースが必要ないことを信じていました。

この問題はRFC2616または他のHTTP標準文書で議論されていますか?トピックに関する他の関連文書はありますか?

答えて

1

特定のポイント(URIと他の適切なリソースとのリンク)に一連のアクションをクライアントに提供するためにアプリケーションにハイパーメディアを実装することを検討している場合は、/things URIはGETを送信するのに理想的な場所ですこれらのリンク。

以下は、/thingsリソースのGETのサンプル結果です。このアプローチの利点は、クライアントがLinksRel値を検索する代わりに、URIの構築方法を「知る」必要があるようにコード化できることです。クライアントがURIを構築する必要がある場合でも、検索リンクhrefに{searchTerm}のような項目を検索し、適切な値に置き換えるようにコード化することができます。

"Things": [ 
     { 
     "Description": "Resource level properties that make sense to put here", 
     "Count": 33, 
     "Links": [ 
      { 
       "Rel": "self", 
       "Method": "GET", 
       "Href": "http://yourDomain/things", 
       "Title": "Things resource" 
      } 
     ] 
     } 
    ], 
    "Navigation": [ 
     { 
     "Links": [ 
      { 
       "Rel": "GetItem", 
       "Method": "GET", 
       "Href": "http://yourDomain/things/{id}", 
       "Title": "Get a single item" 
      }, 
      { 
       "Rel": "Search", 
       "Method": "GET", 
       "Href": "http://yourDomain/things/?searchTerm={searchTerm}&itemsPerCall={itemsPerCall}", 
       "Title": "Search items per term" 
      } 
     ] 
     } 
    ] 
関連する問題