为Spring Boot应用程序

时间:2015-07-19 03:39:29

标签: spring-mvc spring-boot

我有一个Spring Boot应用程序,有多个控制器提供各种REST方法。每种方法都要求定义相同的头参数。有没有办法为所有控制器方法指定类似下面的内容?

public ResponseEntity get(@RequestHeader(value="NAME", required = true) String name, ...) {
   ...
}

感谢。

1 个答案:

答案 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