如何配置apigility以使用Doctrine的MongoDB ODM?

时间:2014-05-31 21:14:16

标签: mongodb doctrine-orm zend-framework2 apigility

我正在尝试使用教义的mongodb odm 我已经设置了我的文档并按原样配置了学说模块 我已经(手动)将一个文档插入到mongo中,并使用其“fetch”方法(在资源类中)定义了基于代码的休息服务,以返回文档的存储库" find"回报价值。

当我调用端点(没有ID)时,我得到了一个我插入的单个文档的数组,但它没有正确显示:

{
  "_links": {
    "self": {
      "href": "http://localhost:8888/posts"
    }
  },
  "_embedded": {
    "posts": [
      {
        "\u0000MyApp\\Document\\Post\u0000id": "5389db47075000812e55bd7d",
        "\u0000MyApp\\Document\\Post\u0000title": "My Post",
        "\u0000MyApp\\Document\\Post\u0000description": "This is my post",
        "_links": {
          "self": {
            "href": "http://localhost:8888/posts/1"
          }
        }
      }
    ]
  },
  "total_items": 1
}

此输出存在(至少)两个问题:

  1. 每个属性的关键字格式都很奇怪。它包含具有文档名称的完整命名空间和用于NULL的utf8代码
  2. “自我”链接不使用正确的ID(它使用数字1而不是mongodb自动生成的ID)。
  3. 有什么不对/丢失?

1 个答案:

答案 0 :(得分:0)

这种情况发生在php使用ObjectProperty(\ Zend \ Stdlib \ Hydrator \ ObjectProperty)保护器填充Objects.And在Apigility中如果你没有指定一个保湿器然后它会回落到ObjectProperty保湿器(默认),这似乎是你输出的情况。   使用Classmethods保湿器(\ Zend \ Stdlib \ Hydrator \ ClassMethods)代替。

相关问题