千家信息网

Yii2实现RESTful风格的API中要注意的坑有哪些呢

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇文章给大家分享的是有关Yii2实现RESTful风格的API中要注意的坑有哪些呢,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Yii
千家信息网最后更新 2026年11月04日Yii2实现RESTful风格的API中要注意的坑有哪些呢

本篇文章给大家分享的是有关Yii2实现RESTful风格的API中要注意的坑有哪些呢,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Yii2实现RESTful风格的API的流程如下:
1、WEB前端(frontend)和后端(backend)的同级目录,新建一个文件夹,命名api,api中文件完全复制一份原始的backend中文件即可

2、需要修改common\config\bootstrap.php文件,对新建的应用增加alias别名

Yii::setAlias('@api', dirname(dirname(DIR)) . '/api');

3、保证你的web服务器开启rewrite规则!配置apache或nginx!这里请google或百度下。
nginx中在conf文件夹中vhost.conf或nginx.conf中相关位置加入:

location / {
try_files $uri $uri/ /index.php$is_args$args;
}

apache中在对应的api/web(域名指向的服务器目录中)加入.htaccess:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule . index.php

4、api应用程序美化路由(注意里面的括弧、名字的大小写,类名习惯驼峰式,但是controller 对应的控制器名一定要小写)
接着配置api/config/main.php文件

'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => true,

        'rules' => [            ['class'=>'yii\rest\UrlRule','controller'=>'article'],        ],    ],

如果担心影响其他访问地址(如gii无法连接)可以先注释'enableStrictParsing' =>true,传到服务器后开启即可(增加安全性)

5、准备工作好啦,开始写conroller与model:
在www根目录-->common-->models中新建文件Article.php(可以使用Gii)

namespace common\models;

use Yii;

/**

  • This is the model class for table "article".


  • @property int $id ID

  • @property string $title 标题

  • @property string $content 内容

  • @property int $category_id 分类

  • @property int $status 状态

  • @property int $created_by 创建人

  • @property int $created_at 创建时间

  • @property int $updated_at 最后修改时间
    */
    class Article extends \yii\db\ActiveRecord
    {
    /**

    /**

    /**

    • @inheritdoc
      */
      public function attributeLabels()
      {
      return [
      'id' => 'ID',
      'title' => 'Title',
      'content' => 'Content',
      'category_id' => 'Category ID',
      'status' => 'Status',
      'created_by' => 'Created By',
      'created_at' => 'Created At',
      'updated_at' => 'Updated At',
      ];
      }
      }

    • @inheritdoc
      */
      public function rules()
      {
      return [
      [['id', 'title', 'content'], 'required'],
      [['id', 'category_id', 'status', 'created_by', 'created_at', 'updated_at'], 'integer'],
      [['content'], 'string'],
      [['title'], 'string', 'max' => 512],
      ];
      }

    • @inheritdoc
      */
      public static function tableName()
      {
      return 'article';
      }

然后在api中controllers中新建文件:ArticleController.php

namespace api\controllers;
use yii\rest\ActiveController;
use common\models\Article;
/**

  • */
    class ArticleController extends ActiveController
    {

    // function __construct(argument)
    // {
    // # code...
    // }
    public $modelClass='\common\models\Article';
    }

6、访问链接查看接口返回值:
http://www.xxx.com/articles 已经能够很方便的获取我们表中的数据了。
当然,yii2还对该api封装了如下操作:

GET /articles: 逐页列出所有用户
HEAD /articles: 显示用户列表的概要信息
POST /articles: 创建一个新用户
GET /articles/123: 返回用户 123 的详细信息
HEAD /articles/123: 显示用户 123 的概述信息
PATCH /articles/123 and PUT /users/123: 更新用户123
DELETE /articles/123: 删除用户123
OPTIONS /articles: 显示关于末端 /users 支持的动词
OPTIONS /articles/123: 显示有关末端 /users/123 支持的动词

以上就是Yii2实现RESTful风格的API中要注意的坑有哪些呢,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

文件 用户 风格 信息 服务器 服务 动词 文件夹 时间 更多 末端 目录 知识 篇文章 中新 应用 支持 有关 配置 原始 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 河南云网互联网络科技有限公司 互联网科技工作委员会副主任毛军 河南真二互联网科技有限公司 科技信息互联网 关于新基建和互联网科技 凡科互联网科技 互联网科技论文 米客互联网科技 美国互联网前沿科技 成都玖崟互联网科技有限公司乐商圈怎么样 互联网校园科技培训 互联网还是高科技吗 花神(南京)互联网科技有限公司 互联网在线教育科技创业 高科技互联网发展前景如何 保险科技服务互联网营销体系 信承诺互联网科技有限公司 互联网的黑科技实验室 伍佰万互联网科技是干嘛的 广州为想互联网科技有限公司 朗新科技与工业互联网 阿里互联网科技公司 金融科技与互联网金融相同和不同 互联网软件和科技 杭州壁岐互联网科技有限公司 元气玛特互联网科技公司是外包吗 城市宝互联网科技有限公司 互联网公司属于科技吗 每日互联网科技新闻
0