大佬教程收集整理的这篇文章主要介绍了如何在Yii2自定义URL规则中将请求方法从GET更改为POST等?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用默认控制器在Yii2中的RESTfull Web服务中工作.但是我面临的问题是,我无法发送带参数的POST请求.
下面是我的代码:
web.PHP中的网址管理器规则
'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或任何其他方法时得到该结果.
那么我该如何实现呢?
解决方法:
让我向您展示我如何解决它for my application.
我为基本的应用程序设置构建了一个简单的应用程序结构.
——应用
——模块
———- API
————-模块
—————- v1
——————-控制器
– – – – – – – – – -楷模
– – – – – – – – – -等等
您可以简单地先进行应用程序设置.
然后在每个控制器中定义动词过滤或通过在公共类中进行定义来对其进行分类,就像我已经完成的here.
然后,使用您在urlManager中定义的相同规则,就可以获取请求查询参数.
希望这可以帮助.
以上是大佬教程为你收集整理的如何在Yii2自定义URL规则中将请求方法从GET更改为POST等?全部内容,希望文章能够帮你解决如何在Yii2自定义URL规则中将请求方法从GET更改为POST等?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。