diff --git a/src/Controller/EntityResource.php b/src/Controller/EntityResource.php index 6f6c043..dd21ee9 100644 --- a/src/Controller/EntityResource.php +++ b/src/Controller/EntityResource.php @@ -3,6 +3,7 @@ namespace Drupal\jsonapi\Controller; use Drupal\Component\Serialization\Json; +use Drupal\Core\Access\AccessResult; use Drupal\Core\Cache\CacheableMetadata; use Drupal\Core\Config\Entity\ConfigEntityInterface; use Drupal\Core\Entity\ContentEntityInterface; @@ -1045,7 +1046,8 @@ class EntityResource { /** @var \Drupal\Core\Entity\EntityRepositoryInterface $entity_repository */ $entity_repository = \Drupal::service('entity.repository'); $entity = $entity_repository->getTranslationFromContext($entity, NULL, ['operation' => 'entity_upcast']); - $access = $entity->access('view', NULL, TRUE); + $access = AccessResult::neutral()->addCacheContexts(['url.query_args:resource_version']); + $access = $access->orIf($entity->access('view', NULL, TRUE)); $entity->addCacheableDependency($access); if (!$access->isAllowed()) { $label_access = $entity->access('view label', NULL, TRUE);