【发布时间】:2017-09-13 02:19:50
【问题描述】:
我正在开发一个小型 REST API。我的数据库中有一个包含此字段的用户资源:
{
email: String,
password: String,
first_name: String,
last_name: String,
age: Number,
location: String
}
出于安全原因,当我查询特定用户资源时,我将返回除 password 字段之外的所有字段。
现在我想在客户端制作一个表单,以便用户可以更新他的个人信息和密码。更改密码表单将有两个输入:old_password 和 new_password。
我的疑惑来了。我想要一个 PUT 方法,这样我就可以发送所有字段并更新用户。但是old_password 和new_password 很少会被填充,因此每次用户发出 PUT 请求时它们都无法发送到服务器。
是否可以有时将这两个字段发送到 PUT 方法?它是 RESTful 的吗?
另一种想法是使用带有这两个字段的 PATCH 方法,并且只更新用户密码。但是我的 PUT 方法没有更新用户密码,也没有正确使用?
哪种是最 RESTful 的方法? 谢谢。
【问题讨论】: