【发布时间】:2020-07-06 16:46:05
【问题描述】:
我正在尝试使用 Symfony 5 创建一个简单的网络应用程序。我使用的是API。
目前在调用某个端点时,它只显示相关链接的 IRI 链接:
我需要显示相关的实体对象本身;如果我得到Item 端点,则应返回相关实体Program:
{
"id": 1,
"program": {
"id": 1,
"name": "First program"
},
"description": "fgdfg",
"comment": "dfgdfg"
{
所以,这就是表格的外观:
我认为setting up a subresource 足以获取对象,但事实并非如此:
-
在
InventoryItem实体中配置@ApiSubresource注解Program属性:/** * @ORM\ManyToOne(targetEntity=Program::class, inversedBy="inventoryItems") * @ORM\JoinColumn(nullable=false) * @ApiSubresource */ private $program; -
在
resources.yaml文件中我配置了子资源:App\Entity\InventoryItem: properties: program: subresource: resourceClass: 'App\Entity\Program' collection: true
这仍然返回 IRI 而不是对象,唯一改变的是现在我可以访问此 URL 中当前对象的相关实体:http://localhost:8000/api/inventory_items/1/program.json。
关于如何返回相关实体对象本身而不是 IRI URL 的任何想法?
【问题讨论】:
标签: php rest symfony api-platform.com