我正在尝试将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>"
答案 0 :(得分: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的东西