aw *_*rud 7 rest restful-architecture
我有一个用户创建个人记录的表单.每个人都可以有几个属性 - 身高,体重等.但他们也可以有相关数据列表,如兴趣,喜欢的电影等.
我有一个表格,收集所有这些数据.对我来说,似乎我应该在一个请求中POST所有这些数据.那是RESTful吗?我的阅读建议应该在单独的POST请求中添加兴趣,喜爱的电影和其他列表.但我不认为这是有道理的,因为其中一个可能会失败,然后将部分插入人员,它可能会错过他们的兴趣或喜欢的电影.
我会说这完全取决于依赖数据的可寻址性和唯一性。
如果您的用户关联数据依赖于用户(即“独特的”字符串,例如表示电影(未验证)名称的字符串等属性),则应将其包含在用户的 POST 创建中表示; 但是,如果数据独立于用户(其中数据可以独立于用户寻址,例如参考,例如来自一组电影的电影),则应该独立添加它。
这背后的原因是,与原始 POST 捆绑的引用添加意味着事务性;也就是说,如果另一个用户在客户端选择“最喜欢的”电影和 POST 通过之间删除了电影引用,则用户添加将(按照该设计应该)失败,而如果“最喜欢的”电影不是关联的,而只是一个属性,没有什么可以失败的(属性(大概)不能被第三方失效)。
同样,这非常符合您的特定需求,但我支持部分插入并指示失败。如果您真的不想允许部分插入,那么处理此类事情的正确方法是仅在后端实现事务;它们是真正处理在过程中删除关键相关资源的情况的唯一方法。
我认为在一个请求中添加所有数据没有问题,只要它与主要资源(即您案例中的人)固有相关。有兴趣的话,收藏。电影等本身就是资源,也应该这样处理。
| 归档时间: |
|
| 查看次数: |
1383 次 |
| 最近记录: |