如何在Symfony2上使用Hateoas Bundle获取绝对URL

时间:2016-05-05 01:13:47

标签: symfony hateoas

我刚刚从Willdurant的github安装了捆绑包,我得到了这样的相对网址:

"_links": {
    "self": {
      "href": "/1.0/users/?page=1&limit=10"
    },
    "first": {
      "href": "/1.0/users/?page=1&limit=10"
    },
    "last": {
      "href": "/1.0/users/?page=2&limit=10"
    },
    "next": {
      "href": "/1.0/users/?page=2&limit=10"
    }
  }

对于我的Hateoas网址,我真的更喜欢绝对的网址,但我没有在谷歌上找到任何改变它的东西。 2小时的搜索,尝试多个关键字,什么都没有...

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

您可以通过多种方式使用它。一切都取决于生成链接的方式。

如果您使用@Route注释生成链接,则其参数absolute需要设置为true

/**
 * @Hateoas\Relation(
 *     name = "self",
 *     href = @Hateoas\Route(
 *         "user_get",
 *         parameters = { "id" = "expr(object.getId())" },
 *         absolute = true
 *     )
 * )
 */

如果您使用表达式语言生成链接,则可以将true作为第三个参数传递给link()函数:

/**
 * @Hateoas\Relation(
 *     "user",
 *     href = "expr(link(object.getUser(), 'self', true))"
 * )
 */