Laravel没有官方“API专用项目”命令,必须用laravel new或composer create-project创建标准项目,再通过删视图、禁用Web中间件、路由走api组、统一JSON响应等配置转为纯API服务。

Laravel 没有真正的“API专用项目”创建方式,laravel new myapp --api 这类命令并不存在,也不会生效——它会报错或被静默忽略。官方从不提供 --api 参数,也不维护所谓“API-only模板”。你不需要、也不应该追求一个“API专用”的初始项目。
真正高效的做法是:
✅ 用 laravel new(或 composer create-project)创建标准 Laravel 项目
✅ 然后通过几项轻量配置,快速裁剪为纯 API 服务
✅ 正确使用 laravel new 启动 API 项目
-
运行命令(推荐用于快速起步):
laravel new myapi
✅ 自动拉取最新稳定版 Laravel
✅ 自动生成.env和有效APP_KEY(关键!避免后续加密异常)
❌ 不支持--api、--minimal等参数 —— 加了就失败或无效 -
如果报错
Command "new" is not defined:说明没装 Laravel Installer
→ 改用 Composer 方式(更可控,尤其需指定版本时):composer create-project laravel/laravel myapi "10.*"
(Laravel 10 是当前 LTS 版,适合生产 API 服务)
✅ 创建后必须做的 4 项 API 化配置(5 分钟内完成)
-
删视图层(可选但推荐)
若确定不用 Blade、邮件模板或 SSR,直接删除:rm -rf resources/views
并注释
config/app.php中的:// App\Providers\ViewServiceProvider::class,
-
禁用 Web 中间件中的 Cookie 相关组件
打开app/Http/Kernel.php,在$middlewareGroups['web']数组中移除:-
\App\Http\Middleware\EncryptCookies::class -
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class
-
-
确保所有 API 路由走
api中间件组
检查routes/api.php,每条路由都应包裹在:Route::middleware('api')->group(function () { Route::get('/users', [UserController::class, 'index']); // ... });并确认
app/Http/Kernel.php中'api'组已启用\Illuminate\Routing\Middleware\SubstituteBindings::class -
统一 JSON 错误响应
修改app/Exceptions/Handler.php的render()方法,在开头加入:if ($request->expectsJson()) { return $this->prepareJsonResponse($request, $exception); }避免 HTML 错误页泄露路径或敏感信息。
⚠️ 常见误区提醒
-
php artisan make:controller --api只是生成精简骨架(不含create/edit),不会改变项目模式 - 第三方 “Laravel API starter” 模板往往升级困难、中间件行为与官方不一致,不建议新手使用
- 忘记运行
php artisan key:generate?即使不用 session,也会导致encrypt、signedRoute等功能崩溃,连tinker都打不开
不复杂但容易忽略:Laravel 的 API 能力是“配置出来”的,不是“模板选出来的”。用标准项目起步,裁剪干净,反而更稳、更易维护、更贴合官方生态。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











