dingo/api

Child/Inner route not inheriting parent middlware(s)

Offen

#1.752 geöffnet am 30.09.2020

 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)PHP (1.269 Forks)batch import
help wantedlumen

Repository-Metriken

Stars
 (9.351 Sterne)
PR-Merge-Metriken
 (Keine gemergten PRs in 30 T)

Beschreibung

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.

Contributor Guide