PHP code example of zhkugh / laravel-api-response

1. Go to this page and download the library: Download zhkugh/laravel-api-response library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

zhkugh / laravel-api-response example snippets


// 使用 response() 辅助函数
return response()->success($data);
return response()->success($data, '操作成功');
return response()->success($data, '操作成功', 200);

// 使用 Response Facade
use Illuminate\Support\Facades\Response;
return Response::success($data);

return response()->error('操作失败');
return response()->error('操作失败', 400);
return response()->error('操作失败', 400, $errors);

$users = User::paginate(15);
return response()->paginated($users);
return response()->paginated($users, '获取用户列表成功');

// 创建成功 (201)
return response()->created($data);
return response()->created($data, '创建成功');

// 更新成功 (200)
return response()->updated($data);
return response()->updated($data, '更新成功');

// 删除成功 (200)
return response()->deleted();
return response()->deleted('删除成功');

// 未找到 (404)
return response()->notFound();
return response()->notFound('资源未找到');

// 未授权 (401)
return response()->unauthorized();
return response()->unauthorized('未授权访问');

// 禁止访问 (403)
return response()->forbidden();
return response()->forbidden('禁止访问');

// 验证失败 (422)
return response()->validationError($errors);
return response()->validationError($errors, '验证失败');

use Zhkugh\LaravelApiResponse\ExceptionHandler;

return Application::configure(basePath: dirname(__DIR__))
    ->withExceptions(function (Exceptions $exceptions): void {
        $exceptions->render(function (\Throwable $e, $request) {
            return ExceptionHandler::render($e, $request);
        });
    })->create();

'custom_handlers' => [
    \App\Exceptions\CustomException::class => function ($e, $request) {
        return response()->error('自定义错误消息', 400);
    },
    \Stancl\Tenancy\Exceptions\TenantCouldNotBeIdentifiedByPathException::class => function ($e, $request) {
        return response()->error('租户未找到', 404);
    },
],

use Zhkugh\LaravelApiResponse\ExceptionHandler;

ExceptionHandler::registerCustomHandlers([
    \App\Exceptions\CustomException::class => function ($e, $request) {
        return response()->error('自定义错误', 400);
    },
]);



namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;

class UserController extends Controller
{
    public function index()
    {
        $users = User::paginate(15);
        return response()->paginated($users);
    }

    public function store(Request $request)
    {
        $user = User::create($request->validated());
        return response()->created($user);
    }

    public function show(User $user)
    {
        return response()->success($user);
    }

    public function update(Request $request, User $user)
    {
        $user->update($request->validated());
        return response()->updated($user);
    }

    public function destroy(User $user)
    {
        $user->delete();
        return response()->deleted();
    }
}

use Zhkugh\LaravelApiResponse\HttpStatusCode;

return response()->error('错误', HttpStatusCode::BAD_REQUEST);
return response()->success($data, '成功', HttpStatusCode::CREATED);
return response()->error('未授权', HttpStatusCode::UNAUTHORIZED);

use Illuminate\Support\Facades\Response;
use Zhkugh\LaravelApiResponse\HttpStatusCode;

Response::macro('customSuccess', function ($data) {
    return Response::json([
        'success' => true,
        'data' => $data,
        'timestamp' => now()->toIso8601String(),
    ], HttpStatusCode::OK);
});
bash
php artisan vendor:publish --tag=api-response-config
json
{
    "intelephense.stubs": [
        "vendor/zhkugh/laravel-api-response/ide-helper.php"
    ]
}