spring - 如何手动配置 RestController 的 Request Mapping
问题描述
我想为 RestController 类提供通过属性配置其映射的能力。
所以,不要在我的休息控制器中这样做:
@RestController
@RequestMapping("/something")
public class MyRestController {
}
我想将映射注入@Configuration
带有@Value
注释的类,然后使用该值配置控制器类。
所以,它会是这样的:
@Configuration
public class MyConfiguration {
@Value("${something-mapping}")
private String requestMapping;
// ???
}
我怎么做?
解决方案
这是 Java 注释中的一个限制。所有这些值都应该是编译时常量。
尽管您已尝试使用static final
变量进行此操作,但它无济于事。
尝试使用此实现。
@Configuration
public class MyConfiguration {
@Value("${something-mapping}")
private static String requestMapping;
public static final String REQUEST_MAPPING = getRequestMapping();
public static String getRequestMapping() {
return requestMapping;
}
public void setRequestMapping(String requestMapping) {
this.requestMapping = requestMapping;
}
}
它在使用中给出以下错误。
@RequestMapping(MyConfiguration.REQUEST_MAPPING) // this line gives compilation error
public String something() {
return "something";
}
推荐阅读
- python - 我制作的游戏不会结束
- json - Powershell 直接引用 JSON 对象,无需迭代
- javascript - 从小部件内的元素获取 jquery 小部件实例
- c# - 反序列化错误:参数无效
- .net-core - 调试器未启动,退出代码 0
- python-3.x - 如何使用 Boost.Python 将 ndarray 转换为 opencv::Mat?
- android - android webview中的进度条
- prolog - 在 Prolog 中简单地计算矩阵向量积
- java - 删除字符串的未定义部分
- reactjs - React Big Calendar 不适用于 React 15.xx