2017-05-23 69 views
0

我有3個不同的資源,基於REST的請求:擁有先進的過濾器(1-N-1的關係)

/articles 
/reviews 
/reviewers 

作爲數據庫設計,我們將有:

+----------+ 
| Articles | 
+----------+ 
| id  | 
| title | 
| content | 
+----------+ 

+-------------+ 
| Reviews | 
+-------------+ 
| id   | 
| id_article | 
| id_reviewer | 
| content  | 
+-------------+ 

+-----------+ 
| Reviewers | 
+-----------+ 
| id  | 
| name  | 
+-----------+ 

有一個RESTful方式取回評論者名爲「傑克」的所有文章?

回答

1

是的,

通過根據用例建模您的資源。在這種情況下,您需要一個資源,專門返回由Jack審查的所有文章,而不會找到其他資源的組合來找到您的答案。

您的資源應該與您嘗試解決的問題緊密匹配,並且數據庫架構不相關。在這種情況下,我可以設想存在返回所有文章的資源,使您可以指定審覈的文章,像這樣的用戶名:

GET /articles?reviewed-by=Jack

響應可以包含文章,如果你的用例需要這個,也許還有一些關於評論本身的信息。

+1

你讓我在「數據庫架構無關緊要」。 :) –