ibnudirsan/handle-http-api

这是一个用于处理 http 请求 API 的包。

1.0.0 2022-09-26 13:48 UTC

This package is auto-updated.

Last update: 2024-09-27 14:00:25 UTC


README

Latest Version on Packagist Size Code on Packagist issues on Packagist follower on Packagist discussions on Packagist commit on Packagist

Laravel 包,用于处理 http 请求 API 的响应。

使用方法

安装包 composer require ibnudirsan/handle-http-api

要处理 API 上的 http 状态码,可以使用此函数

// app/Exceptions/Handler.php

<?php

namespace App\Exceptions;

use Throwable;
use Ibnudirsan\HandleHttpApi\Handler\HttpResponse;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;

class Handler extends ExceptionHandler
{
    /**
     * Render an exception into an HTTP response.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Throwable  $exception
     * @return \Symfony\Component\HttpFoundation\Response
     *
     * @throws \Throwable
     */
    public function render($request, Throwable $exception) {

        if ($request->is('api/*')) {
            $code = method_exists($exception, 'getStatusCode');
            if (method_exists($exception, 'getStatusCode')) {
                $statusCode = $this->prepareException($exception)->getStatusCode();
                return HttpResponse::Status($statusCode);
            } else {
                $statusCode = 500;
                    return HttpResponse::Status($statusCode);
            }
                return parent::render($request, $exception);
        }

    }
}