/** * @inheritdoc */ protected function resolveActionMethodName() { $this->mapRawGetData(); if ($this->request->getControllerActionName() === 'index') { $actionName = 'index'; switch ($this->request->getMethod()) { case 'HEAD': case 'GET': $actionName = $this->request->hasArgument($this->resourceArgumentName) && $this->request->getArgument($this->resourceArgumentName) !== '' ? 'show' : 'list'; break; } $contentObject = $this->configurationManager->getContentObject(); if ($contentObject->getUserObjectType() === ContentObjectRenderer::OBJECTTYPE_USER_INT) { switch ($this->request->getMethod()) { case 'POST': $actionName = 'create'; break; case 'PUT': if (!$this->request->hasArgument($this->resourceArgumentName)) { $this->throwStatus(400, null, 'No resource specified'); } $actionName = 'update'; break; case 'DELETE': if (!$this->request->hasArgument($this->resourceArgumentName)) { $this->throwStatus(400, null, 'No resource specified'); } $actionName = 'delete'; break; } } $this->request->setControllerActionName($actionName); } return parent::resolveActionMethodName(); }