【发布时间】:2013-10-09 23:04:22
【问题描述】:
我遇到了一种情况,我认为这是不遵循 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 所涉及的所有方面不是专家/非常有经验。因此,如果你们中的任何人能告诉我这是完全没问题还是这是一个麻烦的迹象(如果可能的话,请提供解释),不胜感激。
【问题讨论】:
标签: java json rest convention