2015-07-30 7 views
9

Ich arbeite mit yii2, und ich möchte Rest API erstellen. Ich lese yii2 Rest api Schnellstart-Dokumentation, aber dort können Sie nur Standardaktionen (index/view/create/delete/list ...) verwenden. Es funktioniert gutErstellen Sie benutzerdefinierte Aktion in Yii2 Rest API

Aber ich will

eine weitere Aktion zum Beispiel erstellen
public function actionPurchasedcard(){ 
    //some code 
} 

Aber ich konnte es nicht. Hilf mir bitte, wie man custome action in yii2 Rest api erstellt.

config.php

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

Dokument root:

htdocs/myapi/api/web/ 

ich so nenne. http://myapi/v1/resource/purchasedcard

Dank (sorry mein Englisch nicht gut)

+1

Dies ist der Weg, aber was passiert ?. "Ich konnte nicht" nicht helfen .. zeigen Sie Ihre Ruhe-URL und Ihren Controller – scaisEdge

+0

Welche URL verwenden Sie, um die Aktion aufzurufen? Vielleicht sollten Sie hier auch Ihren Controllercode posten – Blizz

+0

I aktualisierte Frage –

Antwort

16

Sie kann den Schlüssel extraPatterns in einer Regel festlegen, um einen neuen Vorgang hinzuzufügen Ionen, etwa so:

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

Sie möchten können andere Eigenschaften der Regel, wie prefix oder only je nach hinzuzufügen, was Sie erreichen wollen. Schauen Sie sich die full documentation an, um mehr zu erfahren. Schauen Sie sich auch guide examples an: Es gibt ein Beispiel für eine extraPattern mit der search Aktion am Ende dieser Anleitung.

+0

Auch um Params zu bestehen, können Sie folgendes tun: 'GET gekaufte Karte/' => 'gekaufte Karte', – Rahul

Verwandte Themen