Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过多个端点审核RESTAPI多对多关系更改?_Rest_Audit - Fatal编程技术网

如何通过多个端点审核RESTAPI多对多关系更改?

如何通过多个端点审核RESTAPI多对多关系更改?,rest,audit,Rest,Audit,我正在写一个小的微服务,它管理允许销售产品的产品和客户 产品与客户之间的关系是多对多的。这是因为客户可以销售多种产品类型,而同一产品类型可以由多个客户销售。产品和客户列表通过一个小型RESTAPI进行管理,其中包含CRUD操作的简单端点。定义可以销售哪些产品,通过修改相关客户或产品列表,可以从关系双方更新哪些客户。所有特定于产品和客户的添加、更新和删除操作都将被审核到审核日志中,以支持操作跟踪 下面是产品和客户JSON内容的简化示例 Product { "id":1,

我正在写一个小的微服务,它管理允许销售产品的产品和客户

产品与客户之间的关系是多对多的。这是因为客户可以销售多种产品类型,而同一产品类型可以由多个客户销售。产品和客户列表通过一个小型RESTAPI进行管理,其中包含CRUD操作的简单端点。定义可以销售哪些产品,通过修改相关客户或产品列表,可以从关系双方更新哪些客户。所有特定于产品和客户的添加、更新和删除操作都将被审核到审核日志中,以支持操作跟踪

下面是产品和客户JSON内容的简化示例

Product
{
  "id":1,
  "updatedAt":"2007-03-01T13:00:00Z",
  "customers":[
    {"id":100},
    {"id":101}
  ]
}

Customer
{
  "id":100,
  "updatedAt":"2007-03-01T13:00:00Z",
  "products":[
    {"id":1},
    {"id":2}
  ]
}
必须以原子方式更新相关客户/产品的列表,这可以通过更新客户或产品项来完成。让我疑惑的是,我不知道应该如何审核这种关系,因为它可以从两个方向改变。我应该将事件作为用于执行操作的资源类型上的操作进行审核,还是在两侧进行审核?另外,我们在响应中有updatedAt字段,它应该包含实体更新的最近时间的时间戳。如果此多对多关系已从关系的任意一侧更新,则该字段的值是否应更新