java - 适用于 Android 应用程序的 REST API

标签 java android rest spring-boot backend

我为我的 Android 应用程序创建了 REST 后端(类似于网上商店)。我决定使用 Spring-Boot,因为这个框架易于配置和部署。此时我有实体和存储库 (CrudRepository)。我知道我还需要 Controller 或类似的东西。我在 Github 上发现了几个例子(比如 - https://github.com/steve-perkins/fitnessjiffy-spring),但在这些例子中经常使用 DTO 和服务。

如果这些组件(DTO 和服务)是必需的,您怎么看?如果是这样,为什么?如果 DTO 是一种好方法,也许您知道将 Entity 转换为 DTO 以避免代码重复的好技巧? Spring 中的 Controller 和服务有什么区别?

也许您知道我可以在其中做得更好更快的任何其他框架? Jersey 呢?

如果有任何示例/链接,我将不胜感激。

最佳答案

我只将 Jersey 用于 Web 服务,但原则应该保持不变。我不认为拥有 Github 示例中定义的 DTO 或服务是一项技术要求,但这是一种很好的做法。

在我开发的 Jersey REST 代码中,我的 Controller 和服务是同一个类。我确实有 DTO,因为并非所有 DTO 都是我的实体的精确副本。将实体(由 DAO 从数据库中获取)映射到我使用的 DTO Dozer .在某些情况下,当 DTO 组合来自多个实体的多个属性时,我会编写映射代码。

有关 Controller 和服务之间的区别,请参阅此 post .

您询问“也许您知道将 DAO 转换为 DTO 以避免代码重复的好技巧”。我假设您的意思是实体到 DTO。

关于java - 适用于 Android 应用程序的 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31971381/

相关文章:

Java将枚举列表连接到字符串

使用 parallelStream 和 forEach 的 Java 并行化,其中每个部分都是完全独立的

android - 选择要在 Android Studio 中自动缩进忽略的代码

rest - 支持概念的 FHIR 资源无已知过敏

api - RESTful API key 建议

java - 在 Spring Batch 中动态设置 gridSize(线程数)

java - 使用 Html 或 JavaScript 在 Java 中滚动图像?

android - 权限运行时 "Attempt to get length of null array"

android - 清除多任务堆栈android时服务破坏

rest - 如何设计一个RESTful集合资源?