[英]REST mappings to subresources
我對理解為對象和子對象應用REST模式的完美方法有些麻煩。 讓我們考慮以下課程:
class Foo {
Long id;
Bar bar;
}
class Bar {
Long id;
String name;
}
據我所知,在簡單的情況下,我們有:
Foo
對象列表 - .../foos
Foo
對象 - .../foos/{id}
現在我有理解訪問子對象如何工作的問題。 如果我想獲取Foo
對象,其中Bar
對象的name == baz
,那將是正確的
是否會.../foos/bar/name/baz
或/foos?barName=baz
?
我應該使用哪個映射來通過Foo
參數name
來獲取Bar
對象? 那會是.../foos/bar/{name}
還是別的什么?
主要問題是:您要求哪種資源? 在您的情況下,您需要一個foos
列表,因此URI將是/foos
,period。 必須以其他方式設置剩余約束。
然后,您要過濾返回的列表,以便僅foos
具有特定bar
foos
。 這可以通過參數來完成: /foos?barName=someName
。
以下是一些常見的網址:
GET /foos
:列出所有foos
GET /foos/{id}
:獲取具體的foo
GET /bars
:列出所有bars
GET /bars/{id}
:獲取具體bar
GET /foos/{id}/bars
:獲取特定foo
所有bars
GET /foos/{id}/bars/{id}
:獲取特定foo
特定bar
(與GET /bars/{id}
但限制性更強)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.