api-platform / api-platform/schema-generator

Error 'Class "PostalAddress" does not exist' is been shown in the ApiPlatform's swagger after generating ODM documents

未关闭
#403 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
PHP
星标
474
派生
107
PR 合并指标
30 天内没有已合并 PR

描述

**API Platform version(s) affected**: 3.1.10

**Description**
I ran the generate command to generate ODM documents from a schema configuration that had two types one of them has a reference to the other one. After the documents got generated I tried to go to API Platform's API documentation and saw this error:
"Class "PostalAddress" does not exist".

**How to reproduce**
In an API Platform project that supports MongoDB add this configuration file:

```
# config/schema.yaml
openApi:
file: null
types:
Person:
properties:
name: ~
address: { range: https://schema.org/PostalAddress }
PostalAddress:
properties:
streetAddress: ~

namespaces:
entity: 'App\Document'
enum: 'App\Enum'
interface: 'App\Model'
annotationGenerators:
- ApiPlatform\SchemaGenerator\AnnotationGenerator\PhpDocAnnotationGenerator
attributeGenerators:
- ApiPlatform\SchemaGenerator\AttributeGenerator\ConstraintAttributeGenerator
- ApiPlatform\SchemaGenerator\AttributeGenerator\DoctrineMongoDBAttributeGenerator
- ApiPlatform\SchemaGenerator\AttributeGenerator\ApiPlatformCoreAttributeGenerator
- ApiPlatform\SchemaGenerator\AttributeGenerator\ConfigurationAttributeGenerator

debug: true
useInterface: false
checkIsGoodRelations: true
id:
generationStrategy: mongoid
```

and then run this command:
```
/vendor/bin/schema generate src/ config/schema.yaml
```

**Possible Solution**
The method `getRelationName` in class `ApiPlatform\SchemaGenerator\AttributeGenerator\DoctrineMongoDBAttributeGenerator` can have the logic to add the namespace of the reference class. currently, it returns only the name of the class. Something like the same method in class `ApiPlatform\SchemaGenerator\AttributeGenerator\DoctrineOrmAttributeGenerator`

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。