在注解中注入Spring属性列表

时间:2019-03-19 07:53:58

标签: java spring spring-el

我想将REST端点动态映射到RestController。 我想将端点配置为属性。

我的RestController看起来像这样

@RestController
public class MyRestController {
    }

    @PutMapping("#{'${mapping}'.split(',')}")
    public String fooMapping(@RequestHeader MultiValueMap<String, String> headers, HttpServletRequest request) throws URISyntaxException {

        return "foo";
    }
}

application.properties看起来像这样

mapping=/mapping1,/mapping2,/mapping3

如何将逗号分隔的列表注入注释中?以下硬编码方法确实有效。

@PutMapping(value = {"/mapping1", "/mapping2", "/mapping3"})

1 个答案:

答案 0 :(得分:0)

不幸的是,SpEL表达式仅适用于@Value注释,而似乎不适用于@RequestMapping和相关注释。 @RequestMapping仅支持属性中的占位符。