4

我正在尝试将 Spring HATEOAS 合并到现有的服务工具和 REST API 中。但是,我遇到的问题之一是 ControllerLinkBuilder 似乎删除了尾部斜杠(由于现有约束,这是一个要求)。是否有一些解决方法或方法可以将该尾部斜杠添加到链接中?

 user.add(linkTo(UserController.class).slash("user").slash(user.getUsername() + "/").withRel("Get User Details"));

(用户扩展 ResourceSupport)

我也试过 .slash("") 无济于事。

输出:

"http://localhost:8080/REST/user/<username>"
4

1 回答 1

1

据我所知,不仅仅是使用链接构建器。LinkBuilders 使用 UriComponents 来解析它。然后它遍历每个段并将它们添加回 UriComponents 构建器。 stuff/进入 UriComponents ,但所有东西都是出来的。

您可以做的是以一种圆形的方式将其设为链接,例如:

user.add(
    new Link(
         linkTo(UserController.class).slash("user").slash(user.getUsername())
            .toUriComponentsBuilder().build().toUriString() + "/",
         "Get User Details"
    )
);

可能有更简单的方法......但你明白了。链接似乎没有让你通过 UriComponents 的东西

于 2014-07-08T23:23:22.660 回答