0
我遇到了一個我認爲不遵循REST約定的問題。請考慮這一點,我有一個允許通過此REST APIREST獲取列表方法的容器類
http://localhost:8080/api/books
在我的腦海裏,與書記錄工作的API,當我做一個GET來檢索列表,這是我所期望的:
[{"name":"some book name",
"price":"5"
},
{"name":"second book",
"price":"100"
}
]
上面的JSON可以讓我輕鬆地用Gson反序列化對象列表/數組。
但是,由於某種原因,該API的實現,使其返回:
{"books": [{"name":"some book name",
"price":"5"
},
{"name":"second book",
"price":"100"
}
]
}
正如你看到的,我現在需要使用一個名爲「書籍」的容器類反序列化到,然後我從書籍的一種方法中獲取書籍數組。我認爲使用不提供更多價值的容器類(它只是一個列表容器)是一個壞主意,但我不是專家/經驗豐富的管理大型系統REST API的所有人。因此,如果你們中的任何人都可以告訴我這是否完全正常,或者這是一個麻煩的跡象(如果可能的話,解釋),這是非常感謝。
我想我的問題是我沒有使用書籍類以外的使用它,以便我可以得到書的列表。因此,我不明白爲什麼我們需要它,只要我們可以簡單地做就行了。 –
至於期待從資源,預計列表(這是約定,不是?)。如果它是一本書,不要使用.../books/{id}?也許我不瞭解你的意見。 –
我認爲你是理解。我只是問你期望看到什麼。我在野外看到了兩種方式。你的論點是合理的,但我認爲其他人可能會不同意。 – tom