1. 程式人生 > >Yii2 RESTful API 的基礎和配置(一)

Yii2 RESTful API 的基礎和配置(一)

我們使用的是 yii2高階模板 yii2-app-advanced

  1. 複製一份 backend 到當前目錄下,並修改名稱為 api
  2. 修改 common\config\bootstrap.php,在其後新增如下別名:
Yii::setAlias('@api', dirname(dirname(__DIR__)) . '/api');
  1. 修改 api/config/main.php,把含有 backend 都改成 api
  2. 配置 URL 規則
'urlManager' => [
            'enablePrettyUrl'
=> true, 'enableStrictParsing' => true, 'showScriptName' => false, 'rules' => [ [ 'class' => 'yii\rest\UrlRule', 'controller' => ['v1/user'], 'pluralize' => false, 'except'
=>['delete','create','update','view'], //排除掉這些方法,防止 /v1/user/3 之類的去讀取資料 'extraPatterns' => [ 'POST login' => 'login', 'GET user-profile' => 'user-profile' ] ], ], ],
  1. 啟用 JSON 輸入
'request' => [
    'parsers' => [
        'application/json' => 'yii\web\JsonParser',
    ]
]
  1. 新建 modules/v1/UserController.php
<?php

namespace api\modules\v1\controllers;

use yii\rest\ActiveController;

class UserController extends ActiveController
{
    public $modelClass = 'common\models\User';
}
  • 使用 postman 測試: GET localhost/xxx/v1/user,將會拿到你想要的資訊