@enid
Для реализации собственных методов обработки rest api в Yii2 необходимо выполнить следующие шаги:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
class MyController extends yii estController { /** * @inheritdoc */ public function behaviors() { return ArrayHelper::merge(parent::behaviors(), [ 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'my-action' => ['post'], ], ], ]); } /** * @inheritdoc */ public function actions() { return [ 'my-action' => [ 'class' => 'appactionsMyCustomAction', ], ]; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
namespace appactions; use yiiaseAction; class MyCustomAction extends Action { /** * @inheritdoc */ public function run() { /* здесь можно производить дополнительную обработку и возвращать результат в нужном формате */ return [ 'status' => 'success', 'message' => 'My custom action was executed successfully!', ]; } } |
1 2 3 4 5 6 7 |
'container' => [ 'definitions' => [ 'appactionsMyCustomAction' => [ // здесь задаются параметры конструктора, если они нужны ], ], ], |
После выполнения этих шагов собственный метод обработки rest api будет доступен по адресу /my-controller/my-action.