drewlabs/laravel-http

提供对laravel框架HTTP组件的桥接

v0.3.0 2024-03-21 19:18 UTC

This package is auto-updated.

Last update: 2024-09-21 20:36:05 UTC


README

drewlabs/http包提供了统一的HTTP响应API的实用类和函数,以及用于处理CORS的中间件类。

服务提供者

默认情况下,在Composer完成安装包后运行Laravel应用程序时,服务提供者会自动注册。

  • 对于Lumen应用程序,我们必须在bootstrap/app.php中手动注册提供者。
// bootstrap/app.php
// ...
// Register the HttpService provider
$app->register(Drewlabs\Laravel\Http\HttpServiceProvider::class);
// ...

CORS中间件

要在应用程序中使用CORS中间件,请根据所使用的框架将以下代码添加到您的kernel中

  • Laravel
    // app/Http/Kernel.php

    // ...
    protected $middleware = [
        // ...
        \Drewlabs\Laravel\Http\Middleware\Cors::class,
    ];
  • Lumen
    // bootstrap/app.php

    $app->middleware([
        // Other globally registered middlewares...
        \Drewlabs\Laravel\Http\Middleware\Cors::class,
    ]);
    // ...

注意为了允许任何hostmethodheaders,请使用config数组匹配键中的*

EmptyStringToNull中间件

这是一个中间件,将所有空字符串查询参数和空请求体条目转换为null。

  • Laravel

注意:Laravel已经为这种情况提供了实现。但如果你仍然想使用当前包的中间件,请按照以下方式进行。

    // app/Http/Kernel.php
    // ...
    protected $middleware = [
        // ...
        \Drewlabs\Laravel\Http\Middleware\EmptyStringToNull::class,
    ];
  • Lumen
    // bootstrap/app.php

    $app->middleware([
        // Other globally registered middlewares...
        \Drewlabs\Laravel\Http\Middleware\EmptyStringToNull::class,
    ]);
    // ...

Http包配置

此配置文件包含应用程序Http请求处理程序(如auth、policy中间件)的中间件别名键定义。

  • 发布配置文件

php artisan vendor:publish --tag="drewlabs-http"