【问题标题】:How to have a Symfony API GET call return an embedded json object instead of an IRI如何让 Symfony API GET 调用返回嵌入的 json 对象而不是 IRI
【发布时间】:2018-09-03 01:17:54
【问题描述】:
我一直在使用 Api Platform 开发 Symfony API,并自动生成了所有运行良好的端点。除了一件事,当获取带有子实体的实体时,子实体不是以 json 格式给出,而是以 IRI 格式给出,因此这意味着我们得到“/api/locations/1”而不是 JSON 对象。我已经尝试了几个小时,但无法弄清楚如何改变这一点。我们正在为路由和数据库关系使用注释。
【问题讨论】:
标签:
symfony
doctrine
php-7.1
symfony4
api-platform.com
【解决方案2】:
您可以使用一些不错的工具,例如POSTMAN。
然后你可以看到 JSON 响应打印得很漂亮。
【解决方案3】:
您必须对所有嵌入实体使用相同的通用规范化组,如 docs 中所述。
当您需要除 id 之外的嵌入字段时,GraphQL 也需要这样做 - 要求的结果不止可用结果“内部服务器错误”“不能为不可为空的字段 XXX.YYY 返回 null” - 使用 GraphiQL 有助于调试POSTMAN(伟大的工具)——当 GraphQL 将按预期工作时,REST 也应该没问题。
不幸的是,标准的 admin-on-rest 不喜欢“已经获取”的值,只需要字符串/IRI,而不是对象。