【问题标题】: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


    【解决方案1】:

    您可以选择响应内容类型:

    【讨论】:

      【解决方案2】:

      您可以使用一些不错的工具,例如POSTMAN
      然后你可以看到 JSON 响应打印得很漂亮。

      【讨论】:

        【解决方案3】:

        您必须对所有嵌入实体使用相同的通用规范化组,如 docs 中所述。

        当您需要除 id 之外的嵌入字段时,GraphQL 也需要这样做 - 要求的结果不止可用结果“内部服务器错误”“不能为不可为空的字段 XXX.YYY 返回 null” - 使用 GraphiQL 有助于调试POSTMAN(伟大的工具)——当 GraphQL 将按预期工作时,REST 也应该没问题。

        不幸的是,标准的 admin-on-rest 不喜欢“已经获取”的值,只需要字符串/IRI,而不是对象。

        【讨论】:

          猜你喜欢
          • 2015-08-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-08-18
          • 1970-01-01
          • 2022-01-04
          • 2021-05-18
          • 2020-07-23
          相关资源
          最近更新 更多