venky/api-responder
Composer 安装命令:
composer require venky/api-responder
包简介
Simple, standardized JSON API response library for Laravel
README 文档
README
A simple Laravel package that provides a standardized JSON response structure for APIs.
📦 Installation
composer require venky/api-responder
🚀 Usage
Basic Success Response
use Venky\ApiResponder\ApiResponse; return ApiResponse::success($user, 'Fetched successfully');
Error Response
return ApiResponse::error('User not found', 404); // With validation errors return ApiResponse::error('Validation failed', 422, $validator->errors());
Paginated Response
$users = User::paginate(10); return ApiResponse::paginated($users, 'Users fetched successfully');
🧾 Response Format
Success Response
{
"status": "success",
"code": 200,
"message": "Fetched successfully",
"data": {
"id": 1,
"name": "Venkatesh"
}
}
Error Response
{
"status": "error",
"code": 404,
"message": "User not found",
"errors": []
}
Paginated Response
{
"status": "success",
"code": 200,
"message": "Users fetched successfully",
"data": [...],
"pagination": {
"total": 100,
"count": 10,
"per_page": 10,
"current_page": 1,
"total_pages": 10
}
}
📝 Example Controller Usage
<?php namespace App\Http\Controllers; use App\Models\User; use Venky\ApiResponder\ApiResponse; use Illuminate\Http\Request; class UserController extends Controller { public function show($id) { $user = User::find($id); if (!$user) { return ApiResponse::error('User not found', 404); } return ApiResponse::success($user, 'User fetched successfully'); } public function index(Request $request) { $users = User::paginate(10); return ApiResponse::paginated($users, 'Users fetched successfully'); } }
🧪 Testing
Package Tests
composer test
Testing Locally in a Laravel Project
To test the package in a local Laravel project before publishing:
-
Add local repository (from your Laravel project directory):
composer config repositories.api-responder path ../laravel-api-responder
-
Require the package:
composer require venky/api-responder:dev-main
-
Use in your controller:
use Venky\ApiResponder\ApiResponse; return ApiResponse::success($data, 'Success message');
📖 See TESTING_LOCALLY.md for detailed instructions and examples.
🧰 Future Ideas
- Add
ApiResponse::fromException($e)for automatic exception handling - Add custom middleware for auto-formatting all JSON responses
- Add config for default messages and response structure
- Support for custom response transformers
📄 License
MIT License - see LICENSE file for details.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 4
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-11-06