欢迎光临散文网 会员登陆 & 注册

Spring Boot动态注册/删除http资源路径的方法

2021-10-03 20:10 作者:向上生长之路  | 我要投稿

Spring Boot开发中,有时会遇到某些url资源路径会有有效期的限制,超过有效期的话就不能正常访问,这时可以通过Spring MVC提供的RequestMappingHandlerMapping来编程式控制动态注册/删除资源路径,达到我们的目的,下面来看下怎么实现~

参考Spring官方文档说明:https://docs.spring.io/spring-framework/docs/5.3.6/reference/html/web.html#mvc-ann-requestmapping-registration

工作原理

RequestMappingHandlerMapping继承了AbstractHandlerMethodMapping,其中提供了registerMappingunregisterMapping,分别用于注册Mapping信息与删除Mapping信息

实现注册信息

实现删除注册信息

通过这两个方法,我们就可以在工程中方便的编写注册与删除url资源路径的逻辑了

使用方式

1.编写注册/删除用的Controller层方法
示例代码:https://github.com/netbuffer/spring-boot-demo/blob/master/src/main/java/cn/netbuffer/springboot/demo/controller/RequestMappingController.java


2.编写测试用的控制器类,来作为动态注册资源路径的处理器
示例代码:https://github.com/netbuffer/spring-boot-demo/blob/master/src/main/java/cn/netbuffer/springboot/demo/controller/DynamicHandler.java


运行效果

1.启动工程,访问/mapping/registerMapping接口注册Mapping映射信息,来实现动态资源路径注册效果


2.注册完成后,访问我们设置的path:/yourpath,可以看到我们的控制器方法已经
执行了


后台日志打印


3.再次访问删除注册信息接口/mapping/unregisterMapping,来删除我们刚刚添加的映射信息


4.此时再访问/yourpath资源路径,发现已经返回404了~


完整测试工程参考:https://github.com/netbuffer/spring-boot-demo


Spring Boot动态注册/删除http资源路径的方法的评论 (共 条)

分享到微博请遵守国家法律