1
我添加了一個動詞的動詞行爲只允許POST請求的一些行動,如果請求不是一個POST它應該返回方法不允許,但這是行不通的它返回404未找到響應不是405不允許響應,當我發送一個GET請求而不是POST請任何幫助自定義動作動詞不工作在yii2 REST API
我在REST設置控制的行爲,如該
public function behaviors()
{
$behaviors = parent::behaviors();
$behaviors['authenticator'] = [
'class' => CompositeAuth::className(),
'except' => ['login'],
'authMethods' => [
HttpBearerAuth::className(),
],
];
$behaviors['verbs'] = [
'class' => \yii\filters\VerbFilter::className(),
'actions' => [
//'index' => ['get'],
'login' => ['post', 'put'],
'view' => ['get'],
//'create' => ['get', 'post'],
'update' => ['put'],
//'delete' => ['post', 'delete'],
'delete' => [''],
'test', ['post']
],
];
return $behaviors;
}
主
。 php
'urlManager' => [
'enablePrettyUrl' => true,
'enableStrictParsing' => true,
'showScriptName' => false,
'rules' => [
[
'class' => 'yii\rest\UrlRule',
'controller' => ['v1/vendor'],
'extraPatterns' => [
'POST,PUT login' => 'login',
'POST logout' => 'logout',
'POST test' => 'test'
],
'tokens' => [
'{id}' => '<id:\\w+>'
]
],
],
]
所以當我測試,發送GET請求
GET localhost/mywebsite/api/web/v1/vendors/test
它返回404種不是405狀態,請幫忙
如果你嘗試'POST'請求呢? –
它返回200 @EdvinTenovimas – Fadi