系列: Yii2 Advanced 实战系列:RESTful API + RPC 服务 + 国际化 + 日志与测试
-
本文基于 yiisoft/yii2-app-advanced 模板,演示了在 GitHub 新建仓库并搭建包含接口、前端、后端及控制台应用的 Yii2 高级项目过程。文章详细介绍了环境初始化、Nginx 虚拟主机配置、数据库迁移与测试数据库报错修正等步骤,重点讲解了通过复制前端应用并调整命名空间及路径来新建 API 应用,同时配置了 Vagrant 环境支持,最终实现了多应用的本地运行与测试。
-
文章介绍了基于 yiisoft/yii2-app-advanced 搭建 RESTful 接口应用并准备自动化测试的过程。内容包括删除冗余的控制器、模型与视图,配置环境与数据库,解决内容协商引起的测试报错。通过创建 API 测试套件,编写了涵盖用户列表、详情、创建、更新、删除及 OPTIONS 请求的测试用例,利用 Fixtures 和 JsonPath 验证响应结构与数据,最终确保所有测试通过以保障现有功能的稳定性。
-
本文基于 yii2-app-advanced 项目新建接口应用,将数据库字符集调整为 utf8mb4 并配置 RESTful 风格的响应格式。针对开发环境出现的数据库索引长度报错问题,分析了 MySQL 版本差异导致的限制,通过启用 Innodb_large_prefix 参数并修改迁移文件解决了该故障。文章还实现了请求日志记录功能,配置了忽略 GET 请求的规则,并完成了支持筛选功能的日志列表与详情接口。
-
本文基于 yii2-app-advanced 模板新建接口应用,利用 yii2tech 扩展实现 ActiveRecord 软删除。通过数据库迁移调整用户状态字段,配置行为类将删除操作转为状态标记,利用 Gii 生成 ActiveQuery 并自定义查询类以层级继承方式过滤数据,最终实现了 RESTful 接口下符合预期的数据增删改查及软删除逻辑。
-
本文基于 yiisoft/yii2-app-advanced 模板,记录了在 RESTful 接口应用中实现 ActiveRecord 软删除功能的过程。通过数据库迁移新增了 is_deleted 和 deleted_at 字段,重新生成模型类并附加软删除行为,同时配置了自定义 ActiveQuery 类。经测试,软删除逻辑已替换原有的状态标记,能够确保已删除数据的用户名可被复用,且列表查询默认过滤已删除资源,符合预期。
-
本文针对基于 yiisoft/yii2-app-advanced 框架的 RESTful API 接口应用,分析了其默认支持 application/x-www-form-urlencoded 和 multipart/form-data 输入格式的现状,并解决了 application/json 格式下数据验证失败的问题。通过配置 request 应用程序组件的 parsers 属性使用 yii\web\JsonParser,成功实现了对 JSON 输入格式的支持,使接口能够正确处理并转换原始 HTTP 请求主体。
-
本文介绍了基于 yiisoft/yii2-app-advanced 模板在 GitHub 上新建仓库并实现 RPC 服务端的过程。文章首先通过 Postman 验证了 API 目录中 RESTful 风格接口的正常运行,随后使用 Composer 安装 Hprose,复制并调整 frontend 目录以创建独立的 RPC 应用。接着,文章详细说明了配置 Bootstrap 别名、编辑环境脚本、新增 Nginx 虚拟主机及 Vagrant 配置的具体操作,并对测试套件进行了构建与运行。最终通过访问接口地址和 Vagrant 环境,验证了配置符合预期。
