【发布时间】:2019-06-25 08:36:39
【问题描述】:
我想用一个路径变量定义一个 Spring 的控制器路径:
private static final String IDS_REGEX = "[" + EnumSet.allOf(MyIdsEnum.class).stream().map(MyIdsEnum.class::getValue)
.collect(Collectors.joining("|")) + "]";
public static final String MY_PATH = "/path/{id:" + IDS_REGEX + "]}";
然后在我的控制器中:
@PostMapping(value = MY_PATH, produces = MediaType.APPLICATION_JSON_VALUE)
但是,IntelliJ 在 PostMapping 值中抛出错误:
Attribute value must be constant
路径已经是 static final 了,我应该怎么做才能把它变成一个常量?
提前致谢
【问题讨论】:
-
有什么变通方法可以做我想做的事吗?
标签: java spring spring-boot controller constants