Yii2, Basisvorlage, Versionierung. Ich versuche eine Methode zu schreiben, die Token zurückgibt.Yii2 REST. So senden Sie eine Post-Anfrage an actionIndex
Es ist mein TokenController:
class TokenController extends Controller
{
public function actionIndex()
{
$model = new LoginForm();
$model->load(Yii::$app->request->bodyParams, '');
if ($token = $model->auth()) {
return $token;
} else {
return $model;
}
}
}
und config:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => true,
'rules' => [
''=>'site/index',
[
'class' => 'yii\rest\UrlRule',
'pluralize' => false,
'controller' => [
'v1/token'
],
'extraPatterns' => [
'GET <action>'=>'<action>',
'POST <action>'=>'<action>',
],
],
Als ich senden post
Anfrage an api.site.ru/v1/token
Server zurückgibt:
Und für ein absolut identisches Verfahren actionLogin Server Rückkehr:
Im Ernst, 'actionCreate' anstelle von' actionIndex' funktioniert –
Froh, es funktioniert. Ich vermute, der Grund dafür ist, dass normalerweise 'POST'-Daten versuchen, etwas zu erzeugen, was auch immer das sein mag, so dass es die Standardeinstellung ist. Sie sollten diese Einstellung jedoch überschreiben können, wenn sie Ihrem Anwendungsfall nicht entspricht –