无法在API平台中列出自定义数据提供者的数据

时间:2018-05-04 21:54:24

标签: api-platform.com

我从AWS发电机中提取数据,并且我已经成功完成了这项工作。 我可以在api-platform中看到数据被放入管理面板中,但是唯一键存在一些问题。 我在控制台中看到此消息: "数组或迭代器中的每个子节点都应该有一个唯一的"键"丙" 在显示屏中有两个" id"列,两者都是空的。 仅显示一条记录,但总数为数千条。 在我的情况下,id是一个唯一的字符串,即09asd97ga90asdf0909。也许它必须是整数。我希望不会。

2 个答案:

答案 0 :(得分:0)

我通过制作另一个看起来像apip示例的id列来修复显示:" @ id"。

仍显示为id列。 如果有人对此有所了解,请告诉我。

答案 1 :(得分:0)

“双重ID”显示是预期的行为:

  • @id JSON-LD属性是文档的公共IRI,它是必需的。像/users/bd98b1ed-3e35-4785-acf6-a48f68c2efad
  • 之类的东西
  • id是“内部”原始ID,类似于bd98b1ed-3e35-4785-acf6-a48f68c2efad。公开公开它可能很有用,例如能够设置id客户端(你不能直接设置IRI,因为URL总是由API平台生成)。

要隐藏“内部”id键,您有两个解决方案:

  • 使用serialization groups隐藏它。这意味着它根本不会成为API响应的一部分。
  • Configure the admin to remove this field

    api.resources.forEach(resource => {     resource.listProps = {         addIdField:false,     };

    resource.showProps = {
        addIdField: false,
    };
    

    });

id键仍将是JSON文档的一部分,但不再显示在管理员中。