Ich verwende dieses Stück Code, und versuchen Sie mit REST-API in yii2. Ich habe versucht, zwei Funktionen zu verwenden, wie Sie im Codeausschnitt gesehen haben.Yii2 Rest api Anruf mehrere Methoden
- getAllData
getSpecificData
<?php namespace app\api\modules\widgetmodule\controllers; use yii\rest\Controller; class WidgetController extends Controller { public $modelClass = 'app\models\DynamicWidget'; public function actions() { return [ 'index' => [ 'class' => 'yii\rest\IndexAction', 'modelClass' => $this->modelClass, 'prepareDataProvider' => [$this, 'getAllData'] ], 'view' => [ 'class' => 'yii\rest\ViewAction', 'modelClass' => $this->modelClass, 'prepareDataProvider' => [$this, 'getSpecificData'] ], ]; } public function getAllData() { die('get all data'); } public function getSpecificData() { die('get specific data'); } }
habe ich versucht, zwei URLs für die beiden verschiedenen Methoden,
http://localhost/api/web/widgetmodule/widget/getAllData
http://localhost/api/web/widgetmodule/widget/getSpecificData
Aber die Ausgabe wird immer wie sein.
Quote erhalten alle Daten
Hier mein URL Manager-Code ist in api.php
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
'<controller:\w+>/<action:\w+>/<id:\w+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
[
'class' => 'yii\rest\UrlRule',
'controller' => ['widgetmodule/widget']
]
],
],
'db' => $db,
],
'modules' => [
'widgetmodule' => [
'class' => 'app\api\modules\widgetmodule\Module',
],
So jemand mir helfen könnte, wie verschiedene Ausgänge mit zwei verschiedenen Methoden zu erhalten.
Es ist sowieso die erste Methode aufrufen.
Jede Hilfe wird geschätzt.
Vielen Dank im Voraus.
vergessen Sie das Wort der Handlung in cre Methode in Ihrem Controller. – mohsen
Stattdessen diese 'public Funktion getAllData()' verwenden Sie diese 'public Funktion actionGetAllData()' und die URL wird 'http: // localhost/api/web/widgetmodul/widget/get-all-data' weil Sie camel case – mohsen