讲师中心 微信公众号
AI工具推荐 视频效率加速

Yii2.0.52 RESTful API配置指南【接口开发】

云枫君_5397

云枫君_5397

发布时间:2026-08-09 19:05:07

|

442人浏览过

|

来源于php中文网

原创

要让Yii2.0.52项目跑起标准RESTful API接口,必须同时满足URL路由、数据解析、控制器继承、模型验证四个条件,缺一不可——漏掉任意一项,/v1/users就会返回404或空响应。

yii2.0.52 restful api配置指南【接口开发】

要让Yii2.0.52项目跑起标准RESTful API接口,必须同时满足URL路由、数据解析、控制器继承、模型验证四个条件,缺一不可——漏掉任意一项,/v1/users就会返回404或空响应。

配置urlManager启用REST路由

打开config/web.php,在components下找到urlManager配置块。

'enablePrettyUrl' => true'showScriptName' => false设为true,否则所有请求都会被重定向到index.php前缀路径,REST规则根本不会触发。

rules数组末尾追加一条yii\rest\UrlRule,controller值必须与实际控制器路径严格对应:若控制器类是api\modules\v1\controllers\UserController,此处写['v1/user']【小写字母、无命名空间、斜杠分隔】,写成['V1/User']['api/v1/user']都会导致404。

确保'enableStrictParsing' => true,否则自定义规则会拦截REST请求;但这条规则必须放在所有自定义规则之后,否则/v1/users会被前面的'v1/<action>'</action>之类规则吃掉。

启用JSON数据解析器

components中找到request配置项,添加parsers子项:

'parsers' => ['application/json' => 'yii\web\JsonParser']

这一步不能省——Yii2默认只解析application/x-www-form-urlencoded格式,POST/PUT请求若用JSON传参(如{"name":"test"}),不配这个解析器就会静默丢弃全部body数据,返回400且无错误提示。

如果同时要支持XML,可追加'application/xml' => 'yii\web\XmlParser',但注意XmlParser需额外安装ext-simplexml扩展,否则启动时报错。

创建REST控制器

方法一:直接继承yii\rest\ActiveController

新建文件api/modules/v1/controllers/UserController.php,内容如下:

namespace api\modules\v1\controllers;

use yii\rest\ActiveController;

class UserController extends ActiveController { public $modelClass = 'api\modules\v1\models\User'; }

注意$modelClass必须指向完整命名空间路径,且该类必须继承yii\db\ActiveRecord;如果模型在common\models\User,这里就写'common\models\User',不能省略common\前缀。

Yii Framework 2.0.51
Yii Framework 2.0.51

Yii Framework 2.0.51 官方 Basic 应用模板,适合旧项目兼容、升级验证和开发测试。

下载

方法二:手动绑定动作(仅当需要精细控制时)

若要禁用DELETE动作或改写create逻辑,在控制器中重写actions()

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

但必须保留parent::actions()调用,否则index/view等基础动作全部失效。

定义模型验证规则

第一步:确认模型类已定义rules()方法,且返回非空数组。例如:

public function rules() { return [['username', 'email'], 'required']; }

第二步:检查模型主键字段名。ActiveController默认按id查找记录,若数据库主键是uiduser_id,必须重写findModel()方法:

protected function findModel($id) { return $this->modelClass::findOne(['uid' => $id]); }

第三步:测试POST接口时,用curl命令绕过前端验证:

curl -X POST http://localhost/v1/users \

-H "Content-Type: application/json" \

-d '{"username":"test","email":"test@example.com"}'

如果返回400且响应体为空,90%是rules()没定义或字段名拼写错误;如果返回201但数据库无数据,检查模型tableName()是否返回了正确表名。

热门AI工具

更多
咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
PHP API接口开发与RESTful实践
PHP API接口开发与RESTful实践

本专题聚焦 PHP在API接口开发中的应用,系统讲解 RESTful 架构设计原则、路由处理、请求参数解析、JSON数据返回、身份验证(Token/JWT)、跨域处理以及接口调试与异常处理。通过实战案例(如用户管理系统、商品信息接口服务),帮助开发者掌握 PHP构建高效、可维护的RESTful API服务能力。

504

2025.11.26

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

3028

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

4229

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3649

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

366

2026.01.19

PHP Yii框架专题
PHP Yii框架专题

本专题专注于PHP主流框架Yii的应用,系统讲解MVC架构、路由机制、数据库操作、表单处理、安全验证与RESTful API 开发等核心内容。通过电商网站、后台管理系统与内容管理平台等实战项目,帮助学员快速掌握Yii框架的开发技巧与实战经验。

2750

2025.09.04

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

0

2026.09.23

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

0

2026.09.23

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

0

2026.09.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Yii Framework 2.0 API 官方文档
Yii Framework 2.0 API 官方文档

共0课时 | 0人学习

Yii2.0框架开发实战视频教程
Yii2.0框架开发实战视频教程

共22课时 | 9.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn