用户中心5-后端实现controller层中的登录与注册

日期:2024.02.24 作者:31520-tfzhang

 

前面我们实现了注册和登录的业务逻辑,我们本章实现controller层,编写对接前端的网络访问的接口。

 

1、整体逻辑

前端访问一般会带上url,比如127.0.0.1/user/login等;

那我们的后端就要对接"/user/login"这个访问请求,将/user/login这个访问路径对应到java的某个方法;

而这个方法再去调用我们之前的userRegister或者userLogin等执行实际业务的代码。

 

2、代码框架:

在/com.tfzhang.backend/controller/中新建UserController.java文件,代码结构:

此处头部的路径"/user",然后每个方法前的路径名为"/register"和"/login",与前端访问的路径/user/register和/user/login分别对应。

 

3、接口代码实现:

我们先从userRegister入手开始编写代码,要解决的两个问题:

根据spring web特性,当客户端发送一个POST或PUT请求,并且请求体中包含JSON或XML数据时,我们需要使用@RequestBody注解来接收这些数据。在这种情况下,通常还需要将请求体绑定到一个Java对象上,因此也需要进行封装。

所以为了接收数据,我们在/com.tfzhang.backend/model下创建request包,然后在其中创建UserRegisterRequest类:

有几个点需要说明下:

 

完成上述的UserRegisterRequest后,我们再来书写userRegister的代码:

为什么参数中要使用@RequestBody标签,我们前面已经提过;至于为什么是返回null,因为Long虽然是长整数,但它是对象型数据。

 

对于userLogin的代码也是同样,我们先在model/request/中创建UserLoginRequest类,然后再实现controller/UserController中的userLogin方法;

UserLoginRequest.java的代码:

userLogin的方法:

 

4、代码测试

测试的步骤:

1、启动我们的BackendApplication,等待连接请求;

2、利用 IDEA自带的网络访问工具,创建访问,并发起访问;

 

我们先启动BackendApplication,如图1所示:

图5.2启动后端

图1 启动BackendApplication

然后利用IDEA自带网络测试工具,如图2所示:

图5.1http测试工具

图2 Http测试工具

我们先创建登录的测试访问,如图3所示,测试成功过,后端的确返回user数据:

图5.3发起请求获得结果

图3 测试userlogin接口

按照同样的方式,我们再来测试注册接口,注册成功返回大于0的正数,否则返回负数;

 

逻辑删除的测试

假设我们现在将"tfzhang2" 用户的逻辑删除位设置为1,那么再用tfzhang2登录应该失败,我们来尝试下。

至于如何将tfzhang2的isDelete设置为1,则参考图4:

图5.4测试逻辑删除

图4 修改isDelete的值

当isDelete设置为1时,再次登录,发现返回数据为空,说明逻辑删除的确发挥作用。

至此,对于login和register我们的controller开发完成,后续我们要完成用户管理接口:查找用户和删除用户。