Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[Json-Schema] Nested resources lost externalDoc and description data

未关闭
#8,721 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

@abp002 已经在做这个了。

开始于 2026年10月16日。

  • #8723 来自 @abp002 —— 未关闭

评估

难度
3/5
预计耗时
1-2 天
新手友好度
68/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
活跃
技术栈
php

调研方向

Start by reading the change in src/Hydra/JsonSchema/SchemaFactory.ph introduced by #8652, which the report identifies as the source of the regression. Reproduce the example with nested SchemaThing resources and compare the generated JSON OpenAPI output before and after the change. Done means the nested resource retains its documentation and externalDocs data.

由索引模型根据 Issue 内容生成。

描述

API Platform version(s) affected: 5.0.4

Description
We have some shared api schemas that are linked to schema.org specs, and the generated jsonopenapi spec file contained this information. But after updating to the latest version, we lost these details.

Both the documentation and externalDocs fields are now empty.

screenshots Before: Image

After:
Image

How to reproduce

#[Get(provider: EntityStateProvider::class, processor: EntityStateProcessor::class)]
class Entity
{
    public function __construct(
        #[ApiProperty(identifier: true)]
        public int         $id,
        #[ApiProperty(readableLink: true)]
        public SchemaThing $thing
    )
    {
    }
}

#[ApiResource(description: "A schema type", types: ['https://schema.org/Thing'], operations: [])]
class SchemaThing
{
    #[ApiProperty(description: "The name of the item.", iris: ['https://schema.org/name'])]
    public string $name;
    #[ApiProperty(description: "An alias for the item.", iris: ['https://schema.org/alternateName'])]
    public string $alternateName;
}

Additional Context
If I revert the change in ‎src/Hydra/JsonSchema/SchemaFactory.ph by #8652 the issue is fixed

主要语言
PHP
星标
2.6k
派生
988
平均合并
1 天 19 小时
30 天内合并 PR
108

环境准备

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

api-platform/core 的其他 Issue

查看 api-platform/core 的全部 Issue

相似的 Issue

更多 PHP Issue

把新 issue 发到你的邮箱

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