felo-z/laravel-api-response
Composer 安装命令:
composer require felo-z/laravel-api-response
包简介
Laravel API response and exception handler with unified JSON contract
README 文档
README
Laravel 13+ 统一 API 响应与异常处理扩展包。
要求
- PHP >= 8.4
- Laravel
^13.0
跨框架对齐
Hyperf 侧对应实现:felo-z/hyperf-api-response(PHP >= 8.2,Hyperf >= 3.2)。
两包共享相同的 JSON 契约、ap() 调用方式与 Pipeline 设计,便于 Laravel 与 Hyperf 服务返回一致格式。
安装
composer require felo-z/laravel-api-response
发布配置(可选,包已内置默认配置):
php artisan vendor:publish --provider="FeloZ\LaravelApiResponse\ApiResponseServiceProvider"
快速使用
ap()->ok(['id' => 1], 'ok'); ap()->success(['id' => 1], 'success'); ap()->message('created', 201, ['id' => 1]); ap()->failed('bad request', 400, ['field' => 'name']); ap()->exception($throwable);
也支持 Facade:
\FeloZ\LaravelApiResponse\Facades\Ap::ok(['id' => 1], 'ok');
响应结构
{
"status": true,
"code": 200,
"message": "OK",
"data": {},
"error": {}
}
| 字段 | 说明 |
|---|---|
status |
业务状态(true / false) |
code |
业务码或 HTTP 状态码 |
message |
提示文案 |
data |
成功数据 |
error |
错误详情(非 debug 可按配置隐藏) |
HTTP 状态码策略
code在100–599:HTTP 状态码 =codecode为业务码:成功 → HTTP200,失败 → HTTP400
业务失败不会被误判为系统 500,与 Hyperf 版行为一致。
异常自动接管
安装后通过 ApiResponseServiceProvider 注册 render_using,对以下请求自动将未捕获异常转为统一 JSON:
expectsJson()为true- 路径匹配
render_api_paths(默认api/*)
业务代码只需 throw,无需手动 return ap()->exception(...)。
文档
开发
composer install
composer run test
composer run fix-style
License
MIT
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-06-24