2015-07-30 11 views
9

Sto lavorando con yii2 e voglio creare un ambiente di riposo. Leggo yii2 rest api documentazione di avvio rapido, ma in questo caso è possibile utilizzare solo azioni predefinite (index/view/create/delete/list ...). Si sta lavorando beneCreazione di azioni personalizzate nell'API Rest di Yii2

Ma voglio creare un'altra azione, ad esempio

public function actionPurchasedcard(){ 
    //some code 
} 

ma non ho potuto esso. Aiutatemi, per favore, come creare azioni custome in yii2 Rest api.

config.php

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

radice del documento:

htdocs/myapi/api/web/ 

io chiamo in questo modo:. http://myapi/v1/resource/purchasedcard

Grazie (scusate il mio inglese non è buono)

+1

Questo è il modo, ma cosa succede ?. "Non potevo" non aiutare .. mostra il tuo resto url e il tuo controller – scaisEdge

+0

Quale URL usi per chiamare l'azione? Forse dovresti pubblicare anche qui il codice del controller – Blizz

+0

Ho aggiornato la domanda –

risposta

16

È può impostare la chiave extraPatterns in una regola per aggiungere un nuovo atto ioni, in questo modo:

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

È possibile aggiungere altre proprietà alla regola, come prefix o only a seconda di ciò che si vuole raggiungere. Guarda lo full documentation per saperne di più. Guarda anche guide examples: c'è un esempio di extraPattern con l'azione search vicino alla fine di questa guida.

+0

Anche per passare i parametri puoi fare quanto segue: 'GET purchasecard/' => 'boughtcard', – Rahul

Problemi correlati