java - REST API 可以有多个模型吗?

标签 java rest design-patterns model retrofit

在我的项目中,数据库中有一个用户模型。现在,我有多个请求来获取特定用户。我可以获得 bestUsers 响应包含具有较少字段的 JSON 列表(只有这些是需要的)- 这些用户的列表由服务器端算法计算。现在,在客户端:我应该有两个模型 User - 用于一般用途和 UserBest - 列出最佳用户还是只有一个模型并仅序列化字段出现在 JSON 中(其余将为空)。

我正在用 Java 编写并使用改造库。

最佳答案

如果您希望客户端是强类型的并且始终与服务器同步,这意味着任何“非法”数据都是错误的标志,请创建多个模型并严格解析请求。

如果您想将数据添加到后端模型而不必同时更改客户端或随意遗漏数据,您可以使用忽略任何缺失或额外数据的单一模型。

两者都是可行的选择,具体取决于您的需要。在生产级严肃的应用程序中,您可能更喜欢第一个选项的强类型,在“不那么严肃”的应用程序中,后者可以为您节省一点时间和打字(如果您想先将数据添加到后端模型,则可以进行部署)和前端)。

我假设后端中的“模型”指的是 API 响应,因为实际模型可以是任何东西,而您只是在 DTO 中返回模型的 View 。

关于java - REST API 可以有多个模型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52056952/

相关文章:

java - Spring MVC测试多文件上传

java - 以 JSON 响应返回一个或多个文件 (Java-Jersey-ReST)

c# - 我对 MVVM 模式有一些疑问

ruby-on-rails - Ruby 委托(delegate)/代理

database - 是否有用于审计持久化对象的数据库设计模式?

java - 链表迭代异常

java - 如何在java中调用axis apache客户端

spring-boot - Spring boot更新数据库记录时出现 "Operation is not supported for read-only collection"

java - 使用通配符和@XmlPath来解析相似的表示

scala - Play Framework : How can I use a given certifcate for an HTTP WS. url 调用?