2015-07-30 39 views
9

Pracuję z Yii2 i chcę utworzyć api odpoczynku. Czytam yii2 dokumentację szybkiego startu api, ale tam możesz użyć tylko domyślnych akcji (index/view/create/delete/list ...). To działa dobrzeUtwórz niestandardową akcję w interfejsie API Yii2 Rest

Ale chcę, aby utworzyć kolejną akcję na przykład

public function actionPurchasedcard(){ 
    //some code 
} 

ale nie mogłem go. Pomóż mi, proszę, jak stworzyć akcję custome w Yii2 Rest api.

config.php

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

korzeń dokumentu:

htdocs/myapi/api/web/ 

Wołam tak:. http://myapi/v1/resource/purchasedcard

Dzięki (przepraszam mój angielski nie dobrze)

+1

To jest droga, ale co się dzieje ?. "Nie mogłem" nie pomóc .. pokaż swój adres URL i swój kontroler – scaisEdge

+0

Jakiego adresu URL używasz do wywoływania akcji? Być może powinieneś również zamieścić tutaj swój kod kontrolera. – Blizz

+0

Zaktualizowałem pytanie –

Odpowiedz

16

You może ustawić klucz extraPatterns w regule, aby dodać nowy akt Jony, tak:

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

Możesz dodać inne właściwości do reguły, takie jak prefix lub only w zależności od tego, co chcesz osiągnąć. Spójrz na full documentation, aby dowiedzieć się więcej. Spójrz na: guide examples: istnieje przykład extraPattern z akcją search pod koniec tego przewodnika.

+0

. Aby przekazać parametry, możesz wykonać następujące czynności: 'GET zakupiona karta/' => 'karta zakupowa', – Rahul

Powiązane problemy