tucker-eric / laravel-xml-middleware
一个用于接收XML请求的Laravel中间件
1.5.0
2023-07-25 17:06 UTC
Requires
- illuminate/http: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
- illuminate/support: ^5.0|^6.0|^7.0|^8.0|^9.0|^10.0
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-03 03:13:57 UTC
README
一个用于接收XML请求的Laravel中间件
配置
通过Composer安装
composer require tucker-eric/laravel-xml-middleware
注册服务提供者
在config/app.php
中将服务提供者添加到提供者数组中
'providers' => [ //Other Service Providers XmlMiddleware\XmlRequestServiceProvider::class, ];
注册中间件
在app/Http/Kernel.php
protected $routeMiddleware = [ /// Other Middleware 'xml' => \XmlMiddleware\XmlRequestMiddleware::class, ];
将中间件应用于路由
将中间件添加到您需要的路由中
控制器中间件
class MyController extends Controller { public function __construct() { $this->middleware('xml'); } }
路由中间件
Route::group(['middleware' => 'xml'], function() { Route::post('my-api-endpoint', 'MyOtherController@store'); });
Route::post('my-api-endpoint', 'MyOtherController@store')->middleware('xml');
使用中间件访问XML输入
如果您使用中间件,它将自动将XML注入请求作为数组,您可以使用$request->all()
在控制器中访问XML数据
use Illuminate\Http\Request; use App\Http\Controllers\Controller; class MyController extends Controller { public function __construct() { $this->middleware('xml'); } public function store(Request $request) { $request->all(); } }
访问XML输入
如果您不使用中间件来访问XML输入,请使用Request
上的xml()
方法
use Illuminate\Http\Request; use App\Http\Controllers\Controller; Class MyOtherController extends Controller { public function store(Request $request) { $xml = $request->xml(); } }
要将XML请求作为对象访问,请将false
传递给xml()
方法
use Illuminate\Http\Request; use App\Http\Controllers\Controller; Class MyOtherController extends Controller { public function store(Request $request) { $xml = $request->xml(false); } }