📜  Yii-运行中的RESTful API(1)

📅  最后修改于: 2023-12-03 14:48:40.959000             🧑  作者: Mango

Yii - 运行中的 RESTful API

简介

Yii 是一款高性能的 PHP 框架,提供了完善的工具和功能支持,使开发者能够快速构建高效稳定的 Web 应用程序。其中,Yii 的 RESTful API 功能使开发者能够轻松地创建和管理基于 REST 架构的 API 接口。

本文将介绍如何使用 Yii 框架来创建和运行一个 RESTful API,并提供丰富的示例代码和步骤说明。

安装 Yii

首先,需要通过 Composer 来安装 Yii。在命令行中执行以下命令:

composer create-project yiisoft/yii2-app-basic api

这将创建一个名为 api 的目录,并在其中安装 Yii 的基础应用程序。

创建 API 控制器

接下来,我们需要创建一个用于处理 API 请求的控制器。在 controllers 目录下创建一个名为 ApiController.php 的文件,并添加以下代码:

<?php

namespace app\controllers;

use yii\rest\ActiveController;

class ApiController extends ActiveController
{
    public $modelClass = 'app\models\User';

    public function actions()
    {
        $actions = parent::actions();
        unset($actions['create'], $actions['update'], $actions['delete']);
        return $actions;
    }
}

在上面的代码中,我们使用了 yii\rest\ActiveController 类来扩展自定义的 ApiController 类。我们还指定了 modelClass 属性为 app\models\User,这是我们的 API 将要操作的数据模型。

同时,我们重写了 actions() 方法,以移除默认生成的 createupdatedelete 操作,因为我们希望使用 PUT、PATCH 和 DELETE 请求来执行这些操作。

配置 URL 规则

接下来,我们需要配置 URL 规则以使得 Yii 能够正确地路由 API 请求。打开 config/web.php 文件,并添加以下代码:

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
        ['class' => 'yii\rest\UrlRule', 'controller' => 'api'],
    ],
],

以上代码将会启用美化的 URL,并且禁用了脚本名的显示。我们还使用 yii\rest\UrlRule 类来指定 api 控制器的路由规则。

运行 API

现在,我们可以启动开发服务器来运行我们的 RESTful API。在命令行中执行以下命令:

php yii serve

这将会启动一个本地服务器,并显示 API 的访问地址,如:http://localhost:8080

测试 API

现在,我们可以使用任何 RESTful API 测试工具来测试我们的 API 接口。下面是一个简单的示例:

// 获取用户列表
GET http://localhost:8080/users

// 获取特定用户
GET http://localhost:8080/users/1

// 创建新用户
POST http://localhost:8080/users
Content-Type: application/json

{
    "username": "john",
    "email": "john@example.com"
}

// 更新用户信息
PATCH http://localhost:8080/users/1
Content-Type: application/json

{
    "email": "john.doe@example.com"
}

// 删除用户
DELETE http://localhost:8080/users/1

总结

Yii 框架提供了强大的功能来运行和管理 RESTful API,开发者可以轻松地创建和测试自己的 API 接口。本文向程序员介绍了如何使用 Yii 来构建和运行一个 RESTful API,并提供了示例代码和步骤说明。希望本文对你的学习和开发有所帮助!