如何在SpringBoot中基于属性文件创建动态请求映射



我正在尝试使用java SpringBoot制作RESTApi应用程序。我坚持一个场景假设我有配置。属性文件加载了所有端点。

configure.properties

url1=/endpoint1
url2=/endpoint2
....

现在在控制器类中,我需要以这样一种方式创建@RequestMapping,即每当我从属性文件中添加/删除端点时,只有一种方法可以适应它。我不需要手动进入控制器类文件来做一些事情。

Controller.class

@RestController
@GetMapping(...)
public void ping(){
...
}

如有任何帮助,不胜感激。

编辑:为了进一步澄清,我不想为所有端点创建单独的方法并且将来如果我在属性文件中添加更多端点那么也应该仅通过单一方法处理而无需修改控制器类

中的任何内容

我不完全清楚您的需求,但假设您需要动态更改端点,这可能会对您有所帮助。

你可以使用占位符,比如

@RestController
@GetMapping("${url1}")
public void ping(){
...
}
//for using url1 from properties file
@RestController
@GetMapping("${url2}")
public void ping(){
...
}
//for using url2 from properties file.

但是,每次需要更改时都需要重新启动应用程序。

最新更新