gpt4 book ai didi

rest - 在 REST API 中更改用户密码

转载 作者:行者123 更新时间:2023-12-05 03:08:04 28 4
gpt4 key购买 nike

我正在开发一个小型 REST API。我的数据库中有一个包含此字段的用户资源:

{
email: String,
password: String,
first_name: String,
last_name: String,
age: Number,
location: String
}

当我查询特定用户资源时,出于安全原因,我将返回除 password 字段之外的所有字段。

现在我想在客户端创建一个表单,以便用户可以更新他的个人信息和密码。更改密码表单将有两个输入:old_passwordnew_password

我的疑问来了。我想要一个 PUT 方法,这样我就可以发送所有字段并更新用户。但是 old_passwordnew_password 很少会被填充,所以它们不能在用户每次发出 PUT 请求时都发送到服务器。

  • 有时可以将这两个字段发送到 PUT 方法吗?它是 REST 风格的吗?

  • 另一个想法是使用包含这两个字段的 PATCH 方法,并且只更新用户密码。但是我的 PUT 方法没有更新用户密码,而且没有被正确使用,对吗?

哪种方法最符合 REST 风格?谢谢。

最佳答案

是的,您可以在值不存在时设置默认值,或者在服务器上使用标志来检查该值是否存在。但是 ..,PUT 必须将完整的对象传递给资源。这样做的主要原因是 PUT 应该是幂等的。这意味着重复的请求应该在服务器上评估为相同的结果。如果您允许部分更新,它就不能再有效了。

使用允许您部分更新结构的 PATCH 方法。它提交对资源的部分修改。如果您只需要更新资源的一个字段,您可能需要使用 PATCH 方法。

关于rest - 在 REST API 中更改用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46181252/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com