我正在尝试将 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>"
最佳答案
据我所知,不仅仅是使用链接生成器。 LinkBuilders 使用 UriComponents 来解析它。然后它遍历每个段并将它们添加回 UriComponents 构建器。 stuff/ 进入 UriComponents,但 stuff 就是全部输出。
你可以做的是以循环方式创建一个链接,例如:
user.add(
new Link(
linkTo(UserController.class).slash("user").slash(user.getUsername())
.toUriComponentsBuilder().build().toUriString() + "/",
"Get User Details"
)
);
可能有更简单的方法……但您明白了。 Link 似乎没有向您介绍 UriComponents 的内容
关于java - Spring HATEOAS ControllerLinkBuilder 删除尾部斜线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24640231/