Skip to content

Child/Inner route not inheriting parent middlware(s) #1752

Open
@jariesdev

Description

@jariesdev
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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedlumenrelated to Lumen specifically (ie. not an issue in Laravel)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions