为 Spring Boot 应用程序中的所有控制器指定一次 @RequestHeader

2024-03-23

我有一个 Spring Boot 应用程序,其中包含多个控制器,提供各种 REST 方法。每个方法都需要定义相同的标头参数。有没有一种方法可以为所有控制器方法指定一次类似以下内容的方法?

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

Thanks.


您可能可以使用以下方法实现此目的@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) {
  //...
}

您可以实施@ModelAttribute在单个控制器或一个控制器中填充方法@ControllerAdvice类,以协助多个控制器。请参阅参考文档 http://docs.spring.io/spring-framework/docs/current/spring-framework-reference/html/mvc.html#mvc-ann-modelattrib-methods.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为 Spring Boot 应用程序中的所有控制器指定一次 @RequestHeader 的相关文章

随机推荐