private function getCacheKey()
    {
        if ($this->requestBag->getClassData()['cacheKeyInterface']) {
            $cacheKey = $this->requestBag->getClassInstance()->getCacheKey();
        } else {
            $url = $this->httpRequest()->getCurrentUrl(true);
            $cacheKey = 'path-' . $url->getPath();
            $cacheKey .= 'query-' . $this->serialize($url->getQuery());
            $cacheKey .= 'method-' . $this->httpRequest()->getRequestMethod();
            $cacheKey .= 'post-' . $this->serialize($this->httpRequest()->getPost()->getAll());
            $cacheKey .= 'payload-' . $this->serialize($this->httpRequest()->getPayload()->getAll());
            $cacheKey .= 'version-' . $this->requestBag->getClassData()['version'];
            $cacheKey = md5($cacheKey);
        }

        return $cacheKey;
    }