我尝试使用FOSRestBundle
在symfony2中创建API驱动的项目。
我有APIController
行动getDataAction().
当我从某个外部应用程序发送请求时,这非常有效。我按预期获得了JSON编码数据。
但我也需要在同一个应用程序中使用该数据(即同一应用程序中的其他控制器)。
这是一种合适的方法吗?
APIController
的对象,然后在其上调用所需的操作。
OR getDataAction()
的{{1}}发送CURL请求以获取数据。答案 0 :(得分:1)
您可以使用 route forwarding 从APIController获取数据。通过使用此功能,您可以使用控制器中的任何操作。不需要 curl 或单独的控制器对象。这样的事情:
$details = $this->forward('acmeRestBundle:API:getData',array('_format'=>'json'));
这将返回该动作的结果集。可能是这样的:
content":protected]=>
string(107181) "{}"
["version":protected]=>
string(3) "1.0"
["statusCode":protected]=>
int(200)
["statusText":protected]=>
string(2) "OK"
["charset":protected]=>
NULL