Composer 不管理接口或 Mock 数据,仅安装 PHP 依赖;Mock 接口由 Laravel 路由承载,需手动注册路由与响应逻辑,路径、方法、响应头须与真实接口一致,Mock 路由应隔离并仅在本地环境加载。

Composer 本身不管理接口,也不生成或托管 Mock 数据——它只管 PHP 依赖。所谓“通过 Composer 管理单页应用的后端接口”,本质是用 Composer 安装能帮你快速搭建 Mock 服务的 PHP 工具包(比如 laravel-admin-ext/api-tester),再配合路由和响应逻辑实现接口模拟。
Mock 接口不是靠 Composer 运行,而是靠 Laravel/PHP 路由承载
很多人误以为 composer require 后 Mock 接口就自动上线了。实际上,Composer 只负责把扩展包放进 vendor/,真正起作用的是你手动注册的路由和闭包/控制器逻辑。
- 安装
laravel-admin-ext/api-tester后,必须执行php artisan admin:import api-tester才会注册后台入口 - Mock 响应写在
routes/api.php里,例如Route::get('mock/user', function () { return [...]; });,这行代码才是接口本体 - 若项目没用 Laravel-Admin,这个包就基本无用;换成纯 Laravel,推荐直接用
Route::fallback()+ JSON 响应,更轻量
前端调用时,URL 必须匹配真实后端的路径结构
Mock 的价值在于“零适配切换”。如果真实接口是 /api/v1/users,Mock 就不能写成 /mock/users——否则前端要改请求地址、加条件判断,失去并行开发意义。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 保持路径一致:
Route::get('api/v1/users', fn() => [...]); - 保持方法一致:POST 提交表单就用
Route::post('api/v1/login', ...),别用 GET 模拟 - 响应头尽量对齐:如设置
Content-Type: application/json; charset=utf-8,避免前端解析失败 - 不要在 Mock 中做业务校验(如密码强度、邮箱格式),那属于后端职责;Mock 只返回预设成功/失败结构
避免把 Mock 逻辑混进生产代码
开发阶段方便,不代表能留到上线。很多团队把 Mock 路由留在 routes/api.php 里,靠环境变量开关,结果上线时忘了关,暴露测试接口。
- Mock 路由应单独抽到
routes/mock.php,并在App\Providers\RouteServiceProvider中仅在app()->environment('local')下加载 - 绝不提交含敏感数据的 Mock 响应(如真实 token、手机号),用占位符如
"token": "mock_xxx" - CI 流水线中跑
composer install --no-dev,确保api-tester类扩展不会进入生产环境
真正容易被忽略的是:Mock 接口一旦写进路由文件,就和业务代码共享同一个 HTTP 生命周期——中间件、CSRF 防护、CORS 配置全都会生效。调试时发现 Mock 返回 419 或跨域失败,大概率不是 Mock 本身的问题,而是你忘了给这些路由排除中间件或配置响应头。

















