【发布时间】:2021-06-11 21:02:14
【问题描述】:
我有一个 /user-profile REST API 端点,允许用户检索 (GET) 和更新 (PUT) 用户配置文件。此端点由前端的用户配置文件编辑器使用。
如果用户还没有配置文件,配置文件编辑器应在某些表单字段中设置默认值。此默认逻辑很复杂,需要驻留在 REST API 中。
我的问题是如何从 REST API 中获取默认值?
在 REST 中,当没有用户配置文件时,我们通常在 /user-profile 中返回 HTTP 404,但是如果我修改 /user-profile 使其返回具有默认值的未保存用户配置文件怎么办?但是,此未保存的配置文件无效,因为未填充某些必填字段。这是否违反任何 REST 最佳实践?
如果是这样,我想到的另一个解决方案是有两个端点:
- /user-profile - 未找到时返回保存的用户配置文件或 HTTP 404。
- /defaults/user-profile - 计算一些用户配置文件字段的默认值。当 /user-profile 返回 404 时,UI 会调用它。
这个解决方案显然实现起来更复杂,但它遵循通常的 REST 模式。
有更好的解决方案吗?
谢谢
【问题讨论】:
-
不幸的是,这个问题是在征求人们的意见,这在 Stack Overflow 上显然是题外话。请参阅How to Ask 了解有关可以在此处提出哪些问题的信息。如果您想进行讨论,您应该查看聊天室,您可以在顶部栏右侧的 Stack Overflow 上找到这些聊天室。
标签: rest