venky/api-responder 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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:

  1. Add local repository (from your Laravel project directory):

    composer config repositories.api-responder path ../laravel-api-responder
  2. Require the package:

    composer require venky/api-responder:dev-main
  3. 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

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-06

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固