是否可以在API平台中完全禁用IRI?

问题描述 投票:0回答:1

我不想在没有IRI的情况下制作一个“经典”的API。我只想要ID,而不是IRI,也不是对象/实体。

我已经允许普通标识符:

// config/packages/api_platform.yml
api_platform:
allow_plain_identifiers: true

如果我使用Header Accept:application / json做出任何请求,它仍然是相同的。

我试图欺骗并用getId()替换我链接实体的getter

    public function getStatus(): AngelRelationshipStatus
    {
        return $this->status;
    }

通过

    public function getStatus(): int
    {
        return $this->status->getId();
    }

我收到以下错误:“警告:get_class()期望参数1为对象,给定整数”

为什么我不能得到一个简单的ID?

环境:

  • PHP 7.2
  • API平台2.3
php api-platform.com iri
1个回答
0
投票

我的建议是不要在这些hacky尝试做出意想不到的事情(例如为id返回status)时进行太多改变。

相反,只需在序列化过程中自定义输出。

Api-Platform Serialisation Process

© www.soinside.com 2019 - 2024. All rights reserved.