我有一个Spring Boot应用程序,有多个控制器提供各种REST方法。每种方法都要求定义相同的头参数。有没有办法为所有控制器方法指定类似下面的内容?
public ResponseEntity get(@RequestHeader(value="NAME", required = true) String name, ...) {
...
}
感谢。
答案 0 :(得分:3)
您可以使用@ModelAttribute
实现此目的,如下所示:
public class Something {
private name;
//...
}
@ModelAttribute("something")
public Something addSomething(@RequestHeader(value="NAME", required = true) String name) {
return new Something(name);
}
@RequestMapping("/something")
public ResponseEntity get(@ModelAttribute Something something) {
//...
}
您可以在单个Controller或@ModelAttribute
类中实现@ControllerAdvice
填充方法,以便协助多个控制器。 See reference documentation