我想用以下路径变量定义一个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
路径最终已经是静态的,我该怎么做才能将其转换为常量?
预先感谢
答案 0 :(得分:0)
它必须是一个编译时间常数。
编译时常量表达式是表示原始类型或String的值的表达式,该值不会突然完成,并且仅使用以下内容组成: