Aid*_*des 1 authentication rest http web http-patch
在RESTful API中,我拥有用户资源/users,/users/:id包括用户名,电子邮件地址和密码.
当我想更新用户信息时,我可以轻松地PATCH:/users/:id使用一些JSONPatch数据.
现在的问题是,我无法弄清楚如何处理更改密码的情况有currentPassword,newPassword和newPasswordConfirm形成.
应该使用什么方法(PATCH似乎合适但有问题)以及数据应以何种方式传输(正文/标题/ ......).
在更广泛的范围内 - 如何处理具有更多验证字段的补丁.
这篇文章似乎有关,但没有涵盖这个确切的主题.
而不是PATCH部分更新用户资源,您是否考虑PUT过更换密码?
您的端点可能是/users/:id/password,其中password是用户资源的子资源.您更换密码的请求如下:
PUT /users/1/password HTTP/1.1
Host: api.example.com
Content-Length: 113
Content-Type: application/json
Authorization: Basic YWRtaW46c2VjcmV0
{
"currentPassword" : "secret",
"newPassword": "othersecret",
"newPasswordConfirm" : "othersecret"
}
Run Code Online (Sandbox Code Playgroud)