Rest 异步批量数据验证服务-获取还是发布?

Rest 异步批量数据验证服务-获取还是发布?,rest,spring-boot,microservices,http-method,Rest,Spring Boot,Microservices,Http Method,下面是GET或POST混淆的不同场景。我正在开发一个使用SpringBootMicroService架构构建的web应用程序,其中需要验证和更新excel工作表中的一些批量数据。 excel工作表中可以有500-1000条记录,共6列,用于批量处理。一旦UI将excel工作表提交到服务器,那么整个过程就是异步的。有一些微服务到微服务的电话,我感到很困惑,因为我已经得到或张贴 这里有一个问题:我有4个微服务(比如管弦乐队服务、a服务、B服务和C服务)。 OrchestraService从excel

下面是GET或POST混淆的不同场景。我正在开发一个使用SpringBootMicroService架构构建的web应用程序,其中需要验证和更新excel工作表中的一些批量数据。 excel工作表中可以有500-1000条记录,共6列,用于批量处理。一旦UI将excel工作表提交到服务器,那么整个过程就是异步的。有一些微服务到微服务的电话,我感到很困惑,因为我已经得到或张贴

这里有一个问题:我有4个微服务(比如管弦乐队服务、a服务、B服务和C服务)。 OrchestraService从excel工作表创建一个DTO列表,该列表将在以后的调用中使用。管弦乐队叫“A”A'用DB验证数据,在DTO列表对象中标记成功和失败记录,并将列表返回给orchestra。管弦乐队再次调用“B”,它做类似于“A”的工作,然后返回管弦乐队。 现在,orchestra调用“C”,将成功记录更新到数据库中,更新数据库中的文件状态,并创建一个新的excel表格,每行显示错误消息,稍后通过电子邮件发送给用户(类似于小报告)

在上面的microservice到microservice调用中,只有C正在更新数据库并在服务器上创建资源。以上所有调用我都使用POST方法,因为我需要请求主体将我的输入列表传递给所有服务。 根据HTTP标准,我做得对吗? 向数据处理进程提供数据块(例如输入HTML表单的字段)应该是一个POST调用

请告知我是否:

  • 我应该只使用POST作为“C”,而使用GET作为其他或

  • 由于数据过滤过程中涉及到其他过程,所以应该将其全部发布


  • 注意:服务A、B和C并非所有服务都使用excel的所有列,但其中一些列是组合使用的。一列有18个字符长的数据,因此我认为这可能是批量操作的GET header限制的问题。

    Http协议

    GET
    上传递信息时没有实际的违规行为,如果该请求在相同的请求之间没有变化,那么就可以了

    微服务方面

    现在澄清一下,服务A和服务B是否确实需要? 它们不是与服务C相同的域,并且可以驻留在服务C内部吗?
    让微服务验证自己的域并返回成功和失败的集合以及相关消息,这不仅仅是一种好的做法。

    Http协议

    GET
    上传递信息时没有实际的违规行为,如果该请求在相同的请求之间没有变化,那么就可以了

    微服务方面

    现在澄清一下,服务A和服务B是否确实需要? 它们不是与服务C相同的域,并且可以驻留在服务C内部吗?
    让微服务验证自己的域并返回成功和失败的集合以及相关消息,这是一种更好的做法。

    几年前我也遇到过类似的问题,下面是问题的第一部分


    正如@Oreal Eraki在回答中提到的,我还想问您是否需要服务A和B。如果只是
    验证
    数据转换
    ,则可以在实际存储数据的同一个域中完成。

    几年前我曾遇到过类似的问题,这是您问题的第一部分


    正如@Oreal Eraki在其回答中提到的,我还想问您是否需要服务A和B。如果它只是
    验证
    数据转换
    ,那么它可以在实际存储数据的同一域中完成。

    实际上是,根据现有设计,“A”处理的是一组db实体,“B”处理的是另一组db实体。如果我需要在一个地方执行所有验证,那么我需要将所有必需的实体类复制到一个服务中。根据微服务体系结构将此类类复制到一个服务中可以吗??“根据微服务体系结构将此类类复制到一个服务中可以吗??”-->如果它们没有很强的域含义:它可能是一个共享库。但如果它们代表域,请避免重复。是的,实际上,根据现有设计,“A”处理的是一组db实体,“B”处理的是另一组db实体。如果我需要在一个地方执行所有验证,那么我需要将所有必需的实体类复制到一个服务中。根据微服务体系结构将此类类复制到一个服务中可以吗??“根据微服务体系结构将此类类复制到一个服务中可以吗??”-->如果它们没有很强的域含义:它可能是一个共享库。但如果它们代表域,请避免重复。是的,这两种服务都是必需的。您可以参考上述注释。同样的问题,将这样的域实体复制到一个服务进行验证是一个好主意吗?或者,如果现有设计存在此类问题,是否有其他方法。是的,这两种服务都是必需的。您可以参考上述意见。同样的问题,将这样的域实体复制到一个服务进行验证是一个好主意吗?或者,如果现有的设计存在这样的问题,还有其他方法吗?我相信你自己已经回答了你的问题。因为您只能通过GET请求传递有限的数据量,所以在您这样的情况下,使用POST总是更安全的选择。我确信您不想陷入这样的情况:使用get上传的数据会在没有通知的情况下被简单地截断。本主题可能会提供一些额外的见解,我相信您自己已经回答了您的问题。因为您只能通过GET请求传递有限的数据量,所以在您这样的情况下,使用POST总是更安全的选择。我肯定你不想进监狱