簡體   English   中英

如何使用不同的finder“方法”獲取REST資源?

[英]How to obtain REST resource with different finder “methods”?

假設您有/公司資源允許客戶查找上市公司,並且您希望客戶能夠通過Ticker,位置,位置和行業查找公司

你會在表單中保留相同的URL:

  • GET / companies / msft
  • GET / companies / usa
  • GET /公司/美國和軟件

這似乎不對。 有任何想法嗎?

怎么樣?

GET /Companies?ticker=MSFT

GET /Companies?country=USA

GET /Companies?country=USA&industry=software

重要的是識別資源。 該資源是“公司列表”。 它的媒體類型可以是Atom列表,也可以只是使用UL LI標簽的HTML文檔。 查詢參數會影響列表的內容,但從概念上講,它仍然是“公司列表”。

您可以創建一個獨特的資源,例如

GET /Companies/USA

但你真的需要嗎? 你打算郵寄到/ Companies / USA嗎? 你要刪除/ Companies / USA嗎? 如果您的應用程序不需要能夠對這些特定的公司集合執行其他操作,那么為什么還要將它們建模為不同的資源呢?

作為本次討論的旁注,我希望在訪問單個實體與列表的資源時更清楚地區分。

GET /Companies/USA

GET /Company/MSFT

我意識到這不是一些流行的Web框架的工作方式,但我發現它是一個有用的區別。

你可以接受任何這些,但然后返回一個指向規范地址的Location:標題(大概是GET / companies / msft)。

你只有一家公司,但有多種方式,所以我可能會定義/ companies / [unique-name],然后是/ companies / byticker / msft和/ companies / bylocation / usa等等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM