diff -u b/src/Context/FieldResolver.php b/src/Context/FieldResolver.php --- b/src/Context/FieldResolver.php +++ b/src/Context/FieldResolver.php @@ -124,6 +124,11 @@ throw new BadRequestHttpException('No field name was provided for the filter.'); } + $entity_type = \Drupal::entityTypeManager()->getDefinition($entity_type_id); + if (!$entity_type->entityClassImplements(FieldableEntityInterface::class)){ + return $resource_type->getInternalName($external_field_name); + } + // Turns 'uid.categories.name' into // 'uid.entity.field_category.entity.name'. This may be too simple, but it // works for the time being. @@ -134,10 +139,6 @@ while ($part = array_shift($parts)) { $field_name = $this->getInternalName($part, $resource_types); - $entity_type = \Drupal::entityTypeManager()->getDefinition($entity_type_id); - if (!$entity_type->entityClassImplements(FieldableEntityInterface::class)){ - return $field_name; - } $candidate_definitions = $this->getFieldItemDefinitions( $resource_types, $field_name