Mihail
я для примера привёл! ладно так
return [
Group::create(null)
->pipe(FormatDataResponse1::class)
->routes([
Group::create('/api')
->pipe(FormatDataResponseAsJson::class)
->pipe(AccessCheck::class)
->routes([
Route::get('/post')
->pipe(FormatDataResponsAsXml::class)
->action([PostController::class, 'index']),
Route::post('/post')
->action([PostController::class, 'add'])
]),
]),
Group::create(null)
->pipe(FormatDataResponse2::class)
->routes([
Group::create('/api2')
->pipe(FormatDataResponseAsJson::class)
->pipe(AccessCheck::class)
->routes([
Route::get('/post')
->pipe(FormatDataResponsAsXml::class)
->action([PostController::class, 'index']),
Route::post('/post')
->action([PostController::class, 'add'])
]),
]),
]
Группа лишь обобщает одинаковый набор мидлтварей
Твой код будет работать аналогично следующему
return [
Group::create(null)
->routes([
Group::create('/api')
->pipe(FormatDataResponseAsJson::class)
->pipe(AccessCheck::class)
->routes([
Route::get('/post')
->pipe(FormatDataResponse1::class)
->pipe(FormatDataResponsAsXml::class)
->action([PostController::class, 'index']),
Route::post('/post')
->pipe(FormatDataResponse1::class)
->action([PostController::class, 'add'])
]),
]),
Group::create(null)
->routes([
Group::create('/api2')
->pipe(FormatDataResponseAsJson::class)
->pipe(AccessCheck::class)
->routes([
Route::get('/post')
->pipe(FormatDataResponse2::class)
->pipe(FormatDataResponsAsXml::class)
->action([PostController::class, 'index']),
Route::post('/post')
->pipe(FormatDataResponse2::class)
->action([PostController::class, 'add'])
]),
]),
]