java Spring控制器路径未被视为常量
我想用path变量定义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
路径已经是静态的final,我应该怎么做才能把它变成常量呢
提前谢谢
# 1 楼答案
它必须是编译时常量
编译时常量表达式是一个表示原语类型的值或字符串的表达式,该值或字符串不会突然完成,并且仅使用以下内容组成: