我正在使用 ApiGilty 的 RPC 服务来返回一些数据。我想仔细检查这是否是格式化和返回数据的正确方法,因为我不能 100% 确定正确的过程。
编辑:澄清数据是由许多实体构建的:
main
main_extra
main_data
main_data_days
main_data_tiers
有没有办法打主并获得所有子实体?目前我正在从头开始构建数据并返回一个数组。
我的 RPC 控制器如下:
use My\Data\Controller\DataInterface;
use Zend\Mvc\Controller\AbstractActionController;
use ZF\ContentNegotiation\ViewModel;
class MyDataController extends AbstractActionController
{
const GENERAL_ERROR = 'api.rpc.my-data.my-data-controller';
public function __construct(
MyDataInterface $myData
)
{
$this->myData = $myData;
}
public function myDataAction()
{
$my_id = (int) $this->params()->fromRoute('my_id', 0);
if ($my_id == 0)
{
$data = $this->myData->getMyData();
} else
{
$data = $this->myData->getMyData($my_id);
}
$result = new ViewModel(array(
'data' => $data
));
return $result;
}
}
现在要创建数据,我正在做这样的事情:
public function getMyData( $my_id = null )
{
$returnArray = [];
$array1 = [
'key_1' => [1,2,3,4],
'key_2' => '123',
'key_3' => ['a','b','c']
];
$array2 = [
'key_1' => [1,2,3,4,5,6,7,8],
'key_2' => '123456',
'key_3' => ['a','b','c','d']
];
if ($my_id == 1) {
$array3 = ['some','or','other'];
} else {$array3 = []; }
$final_array = [
'data1' => $array1,
'data2' => $array2,
'data3' => $array3
];
$returnArray['data'] = $final_array;
$returnArray['success'] = 'true';
$returnArray['reason'] = '';
return $returnArray;
}
与邮递员核对时,我得到以下信息:
现在,由于我没有什么可以引用的,我的问题很简单。我是否以正确的方式解决了这个问题,这是返回代码的格式吗?
谢谢!