我正在尝试使用 Symfony 5 创建一个简单的网络应用程序。我正在使用API。
目前,当调用某个端点时,它仅显示相关链接的 IRI 链接:
我需要显示相关实体对象本身;如果我得到Item
端点,相关实体Program
应该返回:
{
"id": 1,
"program": {
"id": 1,
"name": "First program"
},
"description": "fgdfg",
"comment": "dfgdfg"
{
因此,该表的外观如下:
我认为设置子资源就足以获取对象,但事实并非如此:
在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 有什么想法吗?
蛊毒传说