Yii2 REST URL使用slugs代替view-slug方法中的id

I want to declare a method actionViewSlug($slug) in ScholarshipController in Yii2 REST api, My method is showing Not Found that too not in REST manner i.e. JSON.

Here is my Url Config for ScholarshipController

[
                    'class' => 'yiiest\UrlRule',
                    'controller' => ['scholarship'],
                    'extraPatterns' => [
                            'POST filters' => 'filters',
                            'GET {slug}' => 'view-slug',
                    ],
                    'tokens' => [
                            '{slug}' => '<slug>'
                    ],


            ],

This is behaviors() function in ScholarshipController

public function behaviors()
  {
        return [
                [
                    'class' => 'yii\filters\ContentNegotiator',
                    'only' => ['view', 'index', 'filters', 'view-slug'],  // in a controller
                    // if in a module, use the following IDs for user actions
                    // 'only' => ['user/view', 'user/index']
                    'formats' => [
                        'application/json' => Response::FORMAT_JSON,
                    ],
                ],
                'corsFilter' => [
                    'class' => \yii\filters\Cors::className(),
                    'cors' => [
                        'Origin' => ['*'],
                        'Access-Control-Request-Method' => ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS'],
                        'Access-Control-Request-Headers' => ['*'],
                        'Access-Control-Allow-Credentials' => null,
                        'Access-Control-Max-Age' => 86400, 
                        'Access-Control-Expose-Headers' => [],
                    ],

                ],

        ];

  }

Try this URL rule may it should help you. But befor proceeding with this rule I want to clear you if you are using a module for rest API you must need to define your module ID too in rule either using prefix or direct

[
    'class' => 'yiiest\UrlRule',
    'controller' => '<moduleID>/scholarships',        
    'tokens' => [
        '{slug}' => '<slug>',
    ],
    'extraPatterns' => [
        'GET,HEAD {slug}' => 'view-slug',
    ]
],

and where is youe actionViewSlug($slug); It is good if you share your controller code too. It's simple to use slug with different actions. One more thing here I would like to know why you are defining viewSlug action? Why you are not using the existing view action with slug? Thanks