我正在使用 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 自动执行此操作。
传递给方法的参数通常会被忽略(通过 @PathVariable 引用的参数除外,因为它们构成了 URI)。