哪种其余的http方法适合将用户详细信息从一个数据库迁移到另一个数据库?

时间:2019-09-23 08:04:11

标签: rest spring-boot microservices

我必须公开一个其余的端点,该端点将用户数据从mongoDB移至SQLDB。没有从此api的使用者获取任何输入,也没有向使用者显示任何输出。成功完成后,仅发送OK响应。使用者将在需要时调用该api,并且该api的唯一作用是从mongoDB中获取所有用户详细信息,如果发现则移至SQLDB。 我有点困惑应该使用哪种http方法。根据我的分析,方法应该是幂等的。 我对PUT和GET感到困惑。

2 个答案:

答案 0 :(得分:1)

都不是。

您的API应该向API客户端隐藏数据库后端。数据到另一个数据库的移动应以不可见的方式自动完成,而API的用户不必显式请求移动。

答案 1 :(得分:0)

从Microsoft REST End Point最佳做法开始

  

PUT可以创建或替换指定URI处的资源。的   请求消息的正文指定要创建的资源,或者   已更新。

因此,您应该使用 PUT 来移动资源数据,如此处所述

  

PUT请求创建资源或更新现有资源。的   客户端指定资源的URI。请求主体包含一个   资源的完整表示。如果资源具有此URI   已经存在,将被替换。否则,将创建一个新资源,   如果服务器支持这样做。 PUT请求最频繁   应用于单个项目的资源,例如特定资源   客户,而不是收藏。服务器可能支持更新,但   不能通过PUT创建。是否支持通过PUT创建取决于   客户端之前是否可以有意义地将URI分配给资源   它存在。如果不是,则使用POST创建资源以及PUT或PATCH   更新。

亚马逊网络服务(AWS)也使用此功能 https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectUsingREST.html

PUT /bucket HTTP/1.1
Host: atlantic.s3.amazonaws.com
x-amz-copy-source: /pacific/flotsam