Yii2 Rest API带有多个控制器的额外模式

罗布

我的API中有2个控制器。每个都有定义的额外模式。除了用户登录(以其他方式定义)外,我所有的操作均正常工作。

<?
'urlManager' => [
    'enablePrettyUrl' => true,
    'enableStrictParsing' => true,
    'showScriptName' => false,
    'rules' => [
        [
            'class' => 'yii\rest\UrlRule',
            'controller' => [ 'v1/item', 'v1/user'], 
            'tokens' => [
                '{id}' => '<id:\\w+>', //commenting out this token allows login to return
                '{type}'=>'<type:\\w+>'
            ],
            'extraPatterns' => [
                'POST {id}/image/{type}' => 'image', //from the item controller
                'GET login' => 'login' // from the USER controller
            ]
        ]

    ],
],

用户/登录错误。注意它正在寻找v1 / user / view操作

 {
    "name": "Not Found",
    "message": "Page not found.",
    "code": 0,
    "status": 404,
    "type": "yii\\web\\NotFoundHttpException",
    "previous": {
        "name": "Invalid Route",
        "message": "Unable to resolve the request: v1/user/view",
        "code": 0,
        "type": "yii\\base\\InvalidRouteException"
    }
}

如果我在urlManager中注释掉了ID令牌,则用户/登录操作有效,但其他路由失败。

罗布

通过将规则分为每个控制器一个项目来解决:

[
    'class' => 'yii\rest\UrlRule',
    'controller' => 'v1/config', //, 
    'tokens' => [
        '{id}' => '<id:\\w+>',
        '{type}'=>'<type:\\w+>'
    ],
    'extraPatterns' => [
        'POST {id}/image/{type}' => 'image',
    ]
],

[
    'class' => 'yii\rest\UrlRule', 
    'controller' => 'v1/user', 
    'extraPatterns' => [
        'GET login' => 'login'
    ],
] 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Yii2 REST API Codeception问题

来自分类Dev

Yii2 Rest API重写规则

来自分类Dev

Yii2在模型中使用控制器中的方法(REST API)

来自分类Dev

Yii2根据控制器rest api修改404消息

来自分类Dev

在yii2 rest urlmanager中包含所有控制器的最佳方法

来自分类Dev

使用带有多个参数的yii \ rest \ UrlRule的Yii2路由

来自分类Dev

Yii2 REST API关系数据返回

来自分类Dev

在localhost(php / yii2)上测试Twitter REST API

来自分类Dev

yii2创建基于定制的Rest API

来自分类Dev

REST API调用以在Yii2上登录

来自分类Dev

Yii2 REST API按字段查找

来自分类Dev

Yii2 REST API未返回预期结果

来自分类Dev

yii2 rest api中模型的不同文件

来自分类Dev

Yii2 Rest Api自定义错误响应

来自分类Dev

YII2 Rest API URL调用模型方法

来自分类Dev

Yii2 Rest API承载身份验证

来自分类Dev

yii2自定义REST API问题

来自分类Dev

Yii2 API Rest查询参数或条件

来自分类Dev

yii2创建基于定制的Rest API

来自分类Dev

Yii2 Rest Api自定义错误响应

来自分类Dev

Yii2 REST API复数无法正常工作

来自分类Dev

Yii2 REST API关系数据返回

来自分类Dev

Yii2 Rest Api用户承载认证到期时间

来自分类Dev

Yii2 rest api 与承载身份验证

来自分类Dev

Yii2 REST查询

来自分类Dev

使用带有Yii2的AngularJs进行REST身份验证

来自分类Dev

Retrofit2 + YII2 Rest API(org.xmlpull.v1.XmlPullParserException:意外令牌)

来自分类Dev

在默认Rest API中对数据进行排序-Yii2框架

来自分类Dev

在Yii2 REST API中一起使用JSON和JSONP格式