现在创建新用户的时候,如果要创建的用户名已经存在了,得到的响应状态码是 500,响应的数据提示内部服务错误,我们可以让这个异常信息更具体一些。
打开 UserService , 找到用户服务里的 store 方法,方法里先把用户的 name 从 data 参数里解构出来。
下面添加一个 user,await ,执行 this.userRepository,用一下 findOne,给它一个对象,对象里的 name 属性的值就是在上面从 data 参数里解构出来的 name 的值。
判断一下,如果找到了 user,说明要创建的用户已经存在了,这样我们就可以 throw 一个异常,BadRequestException, 设置一下异常信息,用户已经存在了。
回到 HTTP 客户端,再发送一下这个创建新用户的请求。用户名在 user 表里存在,所以会抛出一个 BadRequestException 异常, 响应的数据里,message 的值是我们自己设置的。