我遇到了一种情况,我认为这是不遵循 REST 约定的问题。请考虑这一点,我有一个 API 允许通过此 REST API 处理书籍记录
http://localhost:8080/api/books
在我看来,当我执行 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"
}
]
}
如您所见,我现在需要使用一个名为“Books”的容器类来反序列化,然后从 Books 的方法之一中获取 book 数组。
我认为使用不提供更多价值的容器类(它只是一个列表容器)是一个坏主意,但我在管理大型系统的 REST API 所涉及的所有方面都不是专家/非常有经验。因此,如果你们中的任何人都可以告诉我这是否完全可以,或者这是一个麻烦的迹象(如果可能的话,请提供解释),那将不胜感激。