在Yii2 Rest API中创建自定义操作

时间:2015-07-30 09:48:35

标签: api rest yii2

我正在使用yii2,我想创建rest api。我阅读了yii2 rest api快速入门文档,但在那里你只能使用默认动作(index / view / create / delete / list ...)。它工作正常

但我想创建另一个动作,例如

public function actionPurchasedcard(){
     //some code
}

但我不能。请帮助我,如何在yii2 Rest api中创建客户行动。

的config.php

'urlManager' => [
    'enablePrettyUrl' => true,
    'enableStrictParsing' => true,
    'showScriptName' => false,
    'rules' => [
        [
            'class'=>'yii\rest\UrlRule',
            'controller'=>[
                'v1/resource',
            ]
        ],
    ]
]

文件根目录:

htdocs/myapi/api/web/

我这样打电话: http://myapi/v1/resource/purchasedcard

谢谢。(对不起,我的英语不好)

1 个答案:

答案 0 :(得分:21)

您可以在规则中设置extraPatterns键以添加新操作,如下所示:

'rules' => [
    [
        'class'=>'yii\rest\UrlRule',
        'controller'=>[
            'v1/resource',
        ],
        'extraPatterns' => [
            'GET purchasedcard' => 'purchasedcard',
        ]
    ],
]

您可能希望将其他属性添加到规则中,例如prefixonly,具体取决于您要实现的目标。查看full documentation以了解更多信息。请看guide examples:在本指南的末尾附近有extraPattern search操作的示例。