hobbily / laravel-xml-middleware
Laravel 中间件,用于接受 XML 请求
1.2.0
2017-09-26 03:13 UTC
Requires
- illuminate/http: ~5.0
- illuminate/support: ~5.0
This package is not auto-updated.
Last update: 2024-09-29 04:49:25 UTC
README
Laravel 中间件,用于接受 XML 请求
配置
通过 Composer 安装
composer require tucker-eric/laravel-xml-middleware
注册服务提供者
在 config/app.php 中将服务提供者添加到 providers 数组
'providers' => [ //Other Service Providers XmlMiddleware\XmlRequestServiceProvider::class, ];
注册中间件
在 app/Http/Kernel.php
protected $routeMiddleware = [ /// Other Middleware 'xml' => XmlRequestMiddleware::class, ];
将中间件应用于路由
根据需要添加中间件
控制器中间件
class MyController extends Controller { public function __construct() { $this->middleware('xml'); } }
路由中间件
Route::group(['middleware' => 'xml'], function() { Route::post('my-api-endpoint', 'MyOtherController@store'); });
通过中间件访问 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); } }