Spring Boot API - 从客户端发布完整数据

Posted

技术标签:

【中文标题】Spring Boot API - 从客户端发布完整数据【英文标题】:Spring Boot API - POST complete data from client 【发布时间】:2020-06-27 17:28:36 【问题描述】:

我的任务是使用 Spring Boot 和关系数据库实现 API,以保存来自客户端(移动应用程序)的数据并进行同步。 到目前为止没有问题。我有一些端点要发布和获取存储的数据。

现在我的任务是提供一个端点,该端点在 GET 请求中返回完整数据,另一个端点通过 POST 请求保存客户端的完整数据。

我的问题是:

    如何将完整的数据存储在一个 POST-Request(JSON) 中? 数据库有多个具有多对多关系的实体,如果我只是发布它们,那么实体之间的关系会出现一些问题。

    我获取完整数据的方法是创建一个包含每个实体的新实体。这是最好的解决方案吗?

这甚至是一个很好的解决方案来发布完整的数据,而不是使用其他端点来逐个获取实体。还是有另一种方法来存储和恢复来自服务器和客户端的完整数据?因此,我认为发布完整数据的意义不大。

【问题讨论】:

【参考方案1】:

这甚至是一个很好的解决方案来发布完整的数据,而不是使用其他端点来逐个获取实体

在某些情况下,您可能希望强制更新或将客户端数据与服务器同步,例如,WhatsApp 立即备份选项。

如何将完整的数据存储在一个 POST-Request(JSON) 中

您可以创建一个 post 端点来提取从客户端发送的数据,并在内部使用您的所有存储库或每个属性的 daos。

我获取完整数据的方法是创建一个新实体 与其中的每个实体。这是最好的解决方案吗

按照您提到的操作或在端点中手动处理它,例如this

还要检查这个one,它使用 apache camel 来聚合多个端点

【讨论】:

非常感谢您的回答。休息一下,你的回答对我帮助很大。 这是我的荣幸 :)

以上是关于Spring Boot API - 从客户端发布完整数据的主要内容,如果未能解决你的问题,请参考以下文章

将 Blob 数据作为 MultipartFile 从 Angular6 客户端发送到 Spring Boot API

Spring Boot 和 OAuth2 CORS

Spring Boot 和 OAuth2 CORS

如何从 Elastic Beanstalk 中的 Spring Boot 应用程序中获取客户端主机名和/或客户端 IP 地址?

如何从另一个新的 Spring Boot 项目调用一个 Spring Boot 项目中存在的 Spring Boot api

在 Spring Boot 中使用 FeignClient 进行同步 Rest API 调用