我正在設計一個REST服務,它需要創建一個引用各種其他項目作爲子項目的項目。該服務提供了將可用子項作爲選項進行檢索的方法,這些選項可以作爲鍵/值對綁定到下拉列表中。我的問題是,在創建新的頂級項目時,最好的做法是將整個子項目包含在字段中,還是隻包含引用它的ID?使用子元素設計休息服務的最佳做法
例如,如果我有一項服務使用戶能夠爲筆記本電腦指定處理器和RAM。將會有一個方法GET /processors
,它將返回將觸發對象創建的處理器列表和POST /laptops
。下面兩種有效載荷中的哪一種被認爲是最佳做法?
POST /筆記本電腦
{
"processor": 123,
"ram" 16
}
POST /筆記本電腦
{
"processor": {"id":123, "manufacturer": "Intel", "model": "i5-4670k"}
"ram" 16
}
當檢索的筆記本電腦我會回到這樣的事情:
GET /筆記本電腦
[{
"id:" 3000,
"processor": {"id":123, "manufacturer": "Intel", "model": "i5-4670k"}
"ram" 16
}]