用户登录

在 HTTP 客户端测试一下刚才定义的更新用户接口,在 用户 目录的下面,新建一个请求,名字是 更新用户,请求用的 HTTP 方法设置成 PATCH 。请求的地址是 /users

更新用户 请求需要验证用户的登录状态,所以先得去找个用户申请登录一下,打开 用户登录请求,用 张三 这个用户的身份申请登录一下。复制请求回来的服务端给 张三 这个用户签发的令牌,就是这个 token 属性的值。

打开 更新用户 请求,配置一下身份验证,类型是 Bearer Token,把复制的令牌粘贴到 TOKEN 栏目里。然后再配置一下请求的主体数据。类型是 JSON。

添加一个 JSON 格式的数据,数据里面需要一个 validate 属性,它的值是个对象,里面需要添加一个 password 属性,对应的值就是这个用户当前的登录密码。服务端会验证这个密码是否跟应用里存储的这个用户的密码匹配。张三的登录密码现在是 123123 。

逗号分隔一下,再添加一个 update 属性,它里面的值是要更新的用户数据,比如要更新用户名,可以添加一个 name 属性,把它的值设置成 李白。

现在这个请求的意思就是,张三 这个用户要把自己的名字改成 李白。发送一下这个请求,得到了一个状态码是 409 的响应,响应的信息是 用户名已被占用。这是因为在应用里面已经存在 李白 这个用户了。

请求更新的时候服务端会验证用户提供的当前登录的密码,修改一下这个密码,发送一下,服务端验证了用户提供的这个密码跟应用里存储的这个用户的密码不匹配,所以客户端就会收到一个状态码是 400 的响应,响应的信息是 密码不对。 修改一下密码。

再改一下要更换的名字,比如 张三丰, 发送一下请求,这次服务端成功处理了用户的更新用户数据请求,把张三的名字改成了张三丰。

在数据库可以观察一下,打开 user 数据表,你会发现这里有一个用户的名字是 张三丰。

回到 HTTP 客户端,重新发送一下这个请求,提示用户名已被占用。我们再把 张三丰 的名字改成 张三 ,发送一下这个请求,成功以后再到数据库客户端观察一下。你会发现 张三丰又变成了张三。

下面再试一下修改用户的密码,在请求主体的 update 里面,添加一个 password,对应的值就是用户要修改的密码,比如改成 321312,发送一下这个请求。

成功以后,在数据库客户端观察一下 张三 这个用户的 password 栏目的值,你会发现会有一些变化,这里存储的用户的密码是经过 HASH 处理过的。

回到 HTTP 客户端,再发送一下这个请求,这次会提示密码不对,这是因为刚才这个用户修改了自己的密码,现在它的登录密码是 321321 ,发送一下这个请求,提示 要修改的密码不能与原密码一样。

再修改一下 update 里的 password,改成 123123。 成功以后,再到数据库客户端,观察一下 张三 这个用户的密码字段的值。刷新一下应用的界面,你会发现这个字段的值又会有一些变化。

测试更新用户接口《 Node.js 服务端应用开发:资源接口 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点