在注释中注入Spring属性列表

问题描述 投票:2回答:1

我想动态地将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"})
java spring spring-el
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.