You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony API Platform接口仅返回title,如何返回自动生成ID?

解决API Platform GET接口不返回ID字段的问题

嘿,我一眼就瞅出问题所在了!你的School实体里id字段的@Groups注解写法错了,导致序列化时没把ID纳入school.read分组里,所以GET接口才只返回了title。

问题根源

你当前给id字段的Groups注解是这样的:

@Groups({"school.read, school.write"})

这里你把两个分组名塞进了同一个字符串里,API Platform会把它当成一个单独的分组名称(也就是school.read, school.write这个整体),而不是把id同时加入school.read和school.write两个分组。你的GET接口用的是school.read分组,自然不会返回ID字段。

修复方案

把id字段的@Groups注解改成正确格式,每个分组作为数组的独立元素:

/**
 * @var string the id of this School
 *
 * @ORM\Id
 * @ORM\Column(type="guid", unique=true)
 * @ORM\GeneratedValue(strategy="CUSTOM")
 * @ORM\CustomIdGenerator(class="Ramsey\Uuid\Doctrine\UuidGenerator")
 * @Groups({"school.read", "school.write"})
 */
private $id;

验证效果

修正后,你的GET接口返回结果就会同时包含id和title字段了,效果如下:

[
    {
        "id": "a1b2c3d4-5678-90ef-ghij-klmnopqrstuv",
        "title": "Test"
    },
    {
        "id": "wxyz1234-5678-90ab-cdef-ghijklmnopqr",
        "title": "Test2"
    }
]

顺带提一句,你的ApiResource和其他配置都是没问题的,只要修正这个Groups注解就能搞定啦。

内容的提问来源于stack exchange,提问作者mevr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:31:36