讓我們假設有一個實體公司和一個實體國家。一個公司可以屬於很多國家,一個國家可以有多個公司。因此,對於公司而言,有一個具有不同角色的中間表成員資格。一個公司是一個國家的製造商,另一個公司是一個國家的供應商。一個國家可以擁有多個地位,如is_active等。RESTful API用於過濾的多個資源的多個查詢字符串
現在我們要從一個特定的公司取得所有國家,其中角色是製造商,國家的狀態是is_active = false。
RESTful API端點如何查找此用例?它允許過濾多個資源嗎?一些想法:
GET /companies/{id}/nations?role=manufacturer&is_active=false
GET /memberships/{id}/nations?role=manufacturer&is_active=false
UPDATE 也許我的問題是不夠清楚。查詢字符串參數在兩個不同的表/實體中進行查找。角色位於會員實體內部,is_active位於國家實體內部。我認爲只能在請求的資源上進行過濾。也許我可以在兩個用例中分解這個問題。
1)使用URI中的中間資源是否「更好」? 2)我們可以通過多個表/實體過濾具有查詢字符串參數的資源嗎?
這完全取決於你如何實現它的API設計。 REST不關心你的URI是如何看起來的,因爲關係本身提供了URI的語義。 –