[英]How to change request method in Yii2 custom URL rules from GET to POST and others?
我正在嘗試使用默認控制器在Yii2
中的RESTfull Web服務中工作。 但我遇到的問題是,我無法發送帶參數的POST請求。 以下是我的代碼:
web.php
Url Manager規則
'urlManager' => [
'class' => 'yii\web\UrlManager',
// Disable index.php
'showScriptName' => false,
// Disable r= routes
'enablePrettyUrl' => true,
'rules' => array(
['pattern' => 'api/v1/auth/payment/<id:\d+>', 'route' => 'api/v1/auth/payment'],
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),
],
AuthController.php
文件,這是在controller/api/v1/
namespace app\controllers\api\v1;
use app\controllers\api\v1\components\ApiFunctions;
use Yii;
use yii\web\Controller;
class AuthController extends Controller
{
public function actionPayment()
{
$id = Yii::$app->getRequest()->getQueryParam('id');
json_encode($id);
}
}
但是當我將GET
請求發送到http://{url}//api/v1/auth/payment/5
我的回復為5
。 但是我希望在發送POST
或任何其他方法時獲得該結果。
那我怎么能實現呢?
使用
'POST <controller:\\w+>s' => '<controller>/create',
查看更多http://www.yiiframework.com/doc-2.0/yii-web-urlmanager.html
文檔中的更多示例
[
'dashboard' => 'site/index',
'POST <controller:\w+>s' => '<controller>/create',
'<controller:\w+>s' => '<controller>/index',
'PUT <controller:\w+>/<id:\d+>' => '<controller>/update',
'DELETE <controller:\w+>/<id:\d+>' => '<controller>/delete',
'<controller:\w+>/<id:\d+>' => '<controller>/view',
];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.