java - 如何在@Pattern 中使用@Value
问题描述
如何在 @Pattern 中使用应用程序配置值?
这是一个(不工作)示例:
@GetMapping(value = "/foo", params = { "id" })
public Foo getFoo(@RequestParam("id") @Pattern(regexp = @Value("${validation.myRegex}")) String id) {
return null;
}
这也不起作用(由 Eklavya 提到):
@GetMapping(value = "/foo", params = { "id" })
public Foo getFoo(@RequestParam("id") @Pattern(regexp = "${validation.myRegex}") String id) {
return null;
}
如果我这样使用它,它会起作用:fooBar(@Value("${validation.myRegex}") String myRegex)
所以问题是如何使用模式注释的值?
我的 application.yaml 看起来像这样:
spring:
application:
name: 'My Awesome App'
validation:
myRegex: '[a-zA-Z0-9]*'
解决方案
推荐阅读
- java - JPQL 和实体数据
- react-native - 反应本机:从手机发送数据到另一个没有互联网的手机
- google-analytics - googleanalyticsR:如何获取页面类别(内容组)数据?
- javascript - Chart.js:条形图多种颜色
- java - vlcj3 支持的文件类型列表?
- python - 调用泡菜方法
- javascript - 使用 MutationObserver 仅观察特定属性的属性变化
- angular - 如何在同步代码之前结合表单运行异步代码
- javascript - 有什么方法可以更改 cypress 中的“envFile”变量路径?
- database - Spring JPA - 应用 WHERE 子句乘以嵌套表