返回

用 Lumen 和 Vue.js 构筑你的待办列表应用(三):构建用户模块接口

前端

概览

在上一篇教程中,我们已经完成了待办列表应用的基本功能,包括添加、编辑、删除待办事项。现在,我们准备添加用户模块,允许用户注册和登录。这将为我们的应用增加更多的灵活性,使不同用户能够拥有自己的待办事项列表。

开发用户模块接口

1. 创建用户控制器

首先,我们需要创建一个 UserController 来处理与用户相关的所有请求。在 app/Http/Controllers 目录下,创建一个 UserController.php 文件,并添加以下代码:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User;

class UserController extends Controller
{
    public function register(Request $request)
    {
        // 验证用户数据
        $this->validate($request, [
            'name' => 'required|min:3|max:255',
            'email' => 'required|email|unique:users',
            'password' => 'required|min:6|confirmed',
        ]);

        // 创建用户
        $user = User::create($request->all());

        // 返回成功信息
        return response()->json(['success' => true, 'message' => '注册成功'], 201);
    }
}

2. 创建用户模型

接下来,我们需要创建一个 User 模型来表示用户数据。在 app 目录下,创建一个 User.php 文件,并添加以下代码:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    protected $fillable = ['name', 'email', 'password'];

    protected $hidden = ['password'];
}

3. 创建数据库表

现在,我们需要在数据库中创建一个 users 表来存储用户数据。在终端中,执行以下命令:

php artisan migrate

这将创建 users 表,其中包含 id、name、email 和 password 字段。

4. 测试用户注册接口

最后,我们可以通过 Postman 或其他 API 测试工具来测试用户注册接口。发送一个 POST 请求到 http://localhost:8000/api/register,并附带以下 JSON 数据:

{
  "name": "John Doe",
  "email": "johndoe@example.com",
  "password": "secret",
  "password_confirmation": "secret"
}

如果一切正常,你应该会收到以下响应:

{
  "success": true,
  "message": "注册成功"
}

总结

在本教程中,我们创建了用户模块并实现了用户注册接口。现在,用户可以注册并拥有自己的待办事项列表。在下一篇教程中,我们将继续完善待办列表应用,添加更多功能和特性。