Rest Yii2从后端控制器调用api方法
我已经在遵循Yii Rest API文档的基础上实现了基于高级模板的API。我想从后端控制器调用API方法。有可能吗 谢谢你可以用来测试你的api。 首先下载你的邮递员版本,然后选择你的方法。然后确定您的输入和url。最后按下发送按钮。 您的url可能如下所示Rest Yii2从后端控制器调用api方法,rest,api,yii2,Rest,Api,Yii2,我已经在遵循Yii Rest API文档的基础上实现了基于高级模板的API。我想从后端控制器调用API方法。有可能吗 谢谢你可以用来测试你的api。 首先下载你的邮递员版本,然后选择你的方法。然后确定您的输入和url。最后按下发送按钮。 您的url可能如下所示 http://yourdomain.com/backend/web/index.php?r=yourController/yourAction yourdomain.com是您的域,yourController是控制器,yourActi
http://yourdomain.com/backend/web/index.php?r=yourController/yourAction
yourdomain.com
是您的域,yourController
是控制器,yourAction
是您的操作。一种方法就是这样
假设您的rest控制器位于前端
在后端应用程序配置中,您可以创建一个额外的“UrlManager”组件名称,例如:urlManagerForRest
return [
'components' => [
'urlManager' => [
// here is your backend URL rules
],
'urlManagerForRest' => [
'class' => 'yii\web\urlManager',
'baseUrl' => 'http://your_path/frontend/web/index.php',
'enablePrettyUrl' => true,
'showScriptName' => false,
],
],
];
然后,您应该调用以下命令来编写URL:
Yii::$app->urlManagerFrontEnd->createUrl();
所以,我终于找到了解决办法 我的Yii2应用程序具有高级模板。我已经创建了api模块 所以这个应用程序有3个端点
- 原料药
- 后端
- 前端
'modules' => [
'api' => [
'basePath' => '@api/modules/v1',
'class' => 'api\modules\v1\Module'
]
],
然后举个例子
在后端/UserController/indexAction中
$res = Yii::$app->runAction('api/user/index');
这就是它的工作原理。希望它能对某些人有所帮助。如果你的意思是调用这些API方法并处理其结果,你必须使用