dingo/api

Child/Inner route not inheriting parent middlware(s)

Aberta

#1.752 aberto em 30 de set. de 2020

 (1 comentário) (0 reação) (0 responsável)PHP (1.269 forks)batch import
help wantedlumen

Métricas do repositório

Stars
 (9.351 estrelas)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

Description

Q A
Bug? yes
New Feature? no
Framework Lumen
Framework version 7.0
Package version 3.0.0
PHP version 7.2

Actual Behaviour

Dingo child/inner route middleware not "inherit" parent's middleware.

Expected Behaviour

The child routes should append middlware define from the parent as its own middlware.

Steps to Reproduce

use Dingo\Api\Routing\Router;

$api->group([
    'prefix' => 'foo',
    'middleware' => ['auth:api'],
], function (Router $api) {

    $api->get('/test', [
        'uses' => 'ExampleController@test'
    ]);

    $api->get('/bar', [
        'uses' => 'ExampleController@bar',
        'middleware' => ['employee'],
    ]);

    $api->get('/biz', [
        'uses' => 'ExampleController@biz',
        'middleware' => ['employer'],
    ]);

  ]);

/test has auth:api middlware foo/bar has employee middlware but it should auth:api and employee foo/biz has employee middlware but it should auth:api and employer

Possible Solutions

Currently what i'm doing is write the full middlware on every child 'middleware' => ['auth:api','employer'], or moving it outside the group.

Guia do colaborador