簡體   English   中英

REST映射到子資源

[英]REST mappings to subresources

我對理解為對象和子對象應用REST模式的完美方法有些麻煩。 讓我們考慮以下課程:

class Foo {
    Long id;
    Bar bar;
}

class Bar {
    Long id;
    String name;
}

據我所知,在簡單的情況下,我們有:

  1. Foo對象列表 - .../foos
  2. 一個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

以下是一些常見的網址:

  1. GET /foos :列出所有foos
  2. GET /foos/{id} :獲取具體的foo
  3. GET /bars :列出所有bars
  4. GET /bars/{id} :獲取具體bar
  5. GET /foos/{id}/bars :獲取特定foo所有bars
  6. GET /foos/{id}/bars/{id} :獲取特定foo特定bar (與GET /bars/{id}但限制性更強)

暫無
暫無

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

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