下面是设计内容:
HTTP方法 URI 描述
----------- --- ----------------
GET /users 获取全部用户帐号
POST /users 创建用户帐号
GET /users/1 获取指定Id的用户帐号
PUT /users/1 修改指定Id的用户帐号
DELETE /users/1 删除指定Id的用户帐号
PUT /users/1/password 修改指定Id的用户的登录密码
PUT /users/1/password/default 重置密码
关于uri结尾是否要加上斜杠(/)的问题,网上有很多争论,最终采用Project Zero 的做法,就是全部不加斜杠。
有趣的是修改密码和重置密码的设计,要从传统的动作概念中解脱出来,将密码(password)和初始密码(password/default)本身作为资源来看待。