charlesuwaje/response-macros
Composer 安装命令:
composer require charlesuwaje/response-macros
包简介
Standard API response macros for Laravel
README 文档
README
A lightweight Laravel package that provides reusable JSON response macros to keep your API responses consistent and developer-friendly.
Installation
composer require charlesuwaje/response-macros
Laravel will auto-discover the service provider. No manual registration needed.
Available Macros
| Macro | Status | Description |
|---|---|---|
response()->success($message, $data, $status) |
200 | Standard success response |
response()->created($message, $data) |
201 | Resource created |
response()->accepted($message, $data) |
202 | Request accepted (async/queued) |
response()->noContent() |
204 | Empty success response |
response()->error($message, $data, $status) |
400 | Generic error |
response()->unauthorized($message, $data) |
401 | Not authenticated |
response()->forbidden($message, $data) |
403 | Lacks permission |
response()->notFound($message, $data) |
404 | Resource not found |
response()->methodNotAllowed($message, $data) |
405 | HTTP method not allowed |
response()->conflict($message, $data) |
409 | Conflict (e.g. duplicate resource) |
response()->validationError($message, $errors) |
422 | Validation failed |
response()->tooManyRequests($message, $data) |
429 | Rate limit exceeded |
response()->serverError($message, $data) |
500 | Internal server error |
response()->serviceUnavailable($message, $data) |
503 | Service unavailable |
response()->paginated($message, $data, $pagination) |
200 | Paginated success response |
Usage
use App\Models\User; use Illuminate\Http\Request; class UserController extends Controller { public function index() { $users = User::paginate(15); return response()->paginated('Users retrieved successfully', $users->items(), [ 'total' => $users->total(), 'per_page' => $users->perPage(), 'current_page' => $users->currentPage(), 'last_page' => $users->lastPage(), ]); } public function store(Request $request) { $validated = $request->validate([ 'name' => 'required|string|max:255', ]); $user = User::create($validated); return response()->created('User created successfully', $user->toArray()); } public function show($id) { $user = User::find($id); if (! $user) { return response()->notFound('User not found'); } return response()->success('User found', $user->toArray()); } public function destroy($id) { $user = User::find($id); if (! $user) { return response()->notFound('User not found'); } $user->delete(); return response()->noContent(); } }
Response Format
Success:
{
"status": "success",
"message": "Users retrieved successfully",
"data": []
}
Paginated:
{
"status": "success",
"message": "Users retrieved successfully",
"data": [],
"meta": {
"pagination": {
"total": 100,
"per_page": 15,
"current_page": 1,
"last_page": 7
}
}
}
Error:
{
"status": "error",
"message": "Something went wrong",
"data": {}
}
Validation error:
{
"status": "validation_error",
"message": "Validation failed",
"errors": {
"email": ["The email field is required."]
}
}
Contributing
PRs and suggestions are welcome. If you find a bug or want to add new macros, open an issue or submit a pull request.
charlesuwaje/response-macros 适用场景与选型建议
charlesuwaje/response-macros 是一款 基于 Blade 开发的 Composer 扩展包,目前已累计 5 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 07 月 23 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 charlesuwaje/response-macros 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 charlesuwaje/response-macros 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 5
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 15
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-23