【问题标题】:Spring MVC @getMapping headers, set value from application propertiesSpring MVC @getMapping 标头,从应用程序属性中设置值
【发布时间】:2021-04-28 00:45:21
【问题描述】:
我想从应用程序属性中为@getMapping 标头设置值。
我正在尝试这个
@GetMapping(path = "/test/classify/{id}",
headers = "${partners.api-key}")
但它不起作用。
有可能这样做吗?
提前致谢。
【问题讨论】:
标签:
spring
model-view-controller
header
application.properties
get-mapping
【解决方案1】:
您好,我认为您应该使用 @Value 来获取属性并使用 HttpServletResponse 来设置标题,如下所示:
@Value("${partners.api-key}")
private String apiKey;
@GetMapping(path = "/test/classify/{id}")
public Object get(HttpServletResponse response){
.....
response.addHeader("api-key", apiKey);
return object;
}
【讨论】:
-
这和@GetMapping(..., headers = "...")不一样,因为注解只映射包含指定头的请求,见Javadoc。