/** * Build API declaration * * @param $classMap * @return array */ public function buildApi($classMap) { $apiCfg = $this->config->getApi()['declaration']; $api = ['url' => $apiCfg['url'], 'type' => $apiCfg['type']]; if (isset($apiCfg['id']) && !is_null($apiCfg['id'])) { $api['id'] = $apiCfg['id']; } if (isset($apiCfg['namespace']) && !is_null($apiCfg['namespace'])) { $api['namespace'] = $apiCfg['namespace']; } if (isset($apiCfg['timeout']) && !is_null($apiCfg['timeout'])) { $api['timeout'] = $apiCfg['timeout']; } foreach ($classMap as $actionName => $actionProps) { array_walk($actionProps['methods'], function (&$method) { if (isset($method['resultTransformer'])) { unset($method['resultTransformer']); } }); $api['actions'][$actionName] = array_values($actionProps['methods']); } return $api; }