是否可以通过在属性文件中定义@RequestMapping
注释来定义它的值?
实际上,我做了类似的事情:
@Controller
@RequestMapping("/xxx")
public class MyController {
...
}
但我想将路径/xxx
存储在属性文件中。为什么?例如,如果我重命名控制器中的路径,则不太可能在模板中进行mystakes。
在其他框架中,这是允许的(例如,参见Symfony)。
答案 0 :(得分:21)
应该可以在@RequestMapping
中使用占位符,例如@RequestMapping("${foo.bar}")
。请查看{{3}}了解更多详情:
@RequestMapping
注释中的模式支持${…
}占位符对本地属性和/或系统属性和环境变量。在控制器映射到的路径可能需要通过配置进行自定义的情况下,这可能很有用。有关占位符的更多信息,请参阅PropertyPlaceholderConfigurer类的javadoc。
答案 1 :(得分:0)
谢谢。这是我的贡献 不需要依赖,因为maven会自己做所有事情。
在属性文件中-使用maven插值,如下所示:
vs= v1
us= users
me= messages
url.user=${vs}/${us}
url.mess=${vs}/${me}
在您的命运文件中,例如控制器/资源(在mycase中):
@RestController
//@RequestMapping("v1/users") <<<<<<instead this
@RequestMapping("${url.user}")<<<<<<use this
@Api(value = "API RESTFUL)
public class UserResource {
//