使用 Spring HATEOAS 时在链接中包含 @ModelAttribute

问题描述 投票:0回答:1

我正在使用 Spring HATEOAS 提供的工具构建控制器方法的 url。我现在看到的问题是,当我使用@ModelAttribute聚合这些参数时,我无法生成带有必要请求参数的链接。 我像这样使用 @ModelAttribute 是为了不在我的服务中使用大量请求参数:

@GetMapping("/entities")
    public Resource<Entity> get(@ModelAttribute Criteria criteria) {
}

当我尝试构建指向该方法的链接时,它不包含我在模型属性中拥有的 accountId。我希望它作为请求参数。

linkTo(methodOn(MyController.class).get(new Criteria(accountId)))

有没有办法添加@ModelAttribute字段作为请求参数?通常它们作为请求参数发送,因此我希望 Spring 自动执行此操作。

java spring spring-mvc hateoas spring-hateoas
1个回答
0
投票

传递给方法的参数通常会被忽略(通过 @PathVariable 引用的参数除外,因为它们构成了 URI)。

https://docs.spring.io/spring-hateoas/docs/current/reference/html/#server.link-builder.webmvc.methods

© www.soinside.com 2019 - 2024. All rights reserved.