我正在开发一个应用程序,其中用户在注册时会添加拥有的本地人。用户完成注册过程后,我想在数据库中创建具有相关本地设置的新用户。
为此目的设计API的最佳实践是什么。该问题的命名策略应该是什么?
我现在正在做的是:
@PostMapping(“ /所有者注册/用户)
我要获取全部数据:用户,本地人。我先在模块用户中按UserFacade创建用户,然后在模块本地变量中使用LocalFacade创建相关本地变量
答案 0 :(得分:0)
根据我的理解,我会设计
@PostMapping("/users")
和
@PostMapping("/locals")
创建实体的位置。
如果两个创建都成功,则可以像这样更新user
@PutMapping("/users/related-locals")
当然你也可以做
@PutMapping("/locals/related-users")
如果您需要在单个操作中创建user
(直接附加related-locals
),则需要
local
,id
的{{1}}或link
local
并将user
下的id
或link
添加到客户端,并related-locals
。这意味着,如果POST
的创建由于某种原因而失败,您最终将在数据库中悬挂user
。
另一种可能性是使用 Multipart 。使用Multipart,您可以在同一RequestBody中拥有两个不同的对象。
locals
然后可以接受这样的多部分请求,其中包含@PostMapping("/users")
和user
。然后,您的服务器端实现将必须假设这些locals
映射到locals
中的related-locals
并在服务器端创建它们并将其添加到user
中(由{ {1}}或user
之前)。如果任何操作失败,则可以回滚整个请求并保持数据库干净。