Cem*_*emo 2 java spring spring-mvc
我有一个工作网址: localhost/info
@Controller
@RequestMapping("/info")
public class VersionController {
@RequestMapping(value = "", method = RequestMethod.GET)
public @ResponseBody
Map get() {
loadProperties();
Map<String, String> m = new HashMap<String, String>();
m.put("buildTimestamp", properties.getProperty("Application-Build-Timestamp"));
m.put("version", properties.getProperty("Application-Version"));
return m;
}
}
Run Code Online (Sandbox Code Playgroud)
我会在初始化我的应用程序时注册其他一些映射,如下所示:
localhost/xxxx/info
localhost/yyyy/info
localhost/zzzz/info
Run Code Online (Sandbox Code Playgroud)
所有这些网址都会返回相同的响应 localhost/info
应用程序的xxxx,yyyy部分是可变的.我必须注册自定义映射
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("???").setViewName("???");
}
Run Code Online (Sandbox Code Playgroud)
这只适用于观点.
有动态注册的想法吗?
您可以注册一个新的HandlerMapping,您可以在其中添加URL路径的处理程序; 最方便的实现是SimpleUrlHandlerMapping.
如果您希望这些处理程序是bean方法(如那些带注释的那些@RequestMapping),您应该将它们定义为HandlerMethod包装器,以便已经注册的RequestMappingHandlerAdapter将调用它们.
| 归档时间: |
|
| 查看次数: |
6637 次 |
| 最近记录: |