# Spring-controller-rewriter **Repository Path**: venetocode/SpringControllerRewriter ## Basic Information - **Project Name**: Spring-controller-rewriter - **Description**: 重写无法修改的Controller,如果你需要重写依赖包中的spring path,却又无从下手,本项目为你提供一个解决方案。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2022-11-23 - **Last Updated**: 2022-11-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### spring path 重写 > 使用场景 当你依赖了第三方的接口包,而对方又不提供定制化修改,或者你无从修改源代码的时候。 你可以使用本项目达到path重写的作用。原生的request controller 不能出现重复path 不能继承,不能使用 **@Primary** > 依赖 本项目依赖spring boot,如果你的项目是spring boot,那么只需要引入pom即可,无需额外依赖。 > 使用方法 1. 引入pom(未发布到公共maven库,但你可以publish到私有库) ```$xslt com.zilue.spring spring-controller-rewrite 0.0.4-SNAPSHOT ``` 2.使用RewriteMapping重写你需要复写的path。 **注意:你的method,head等参数必须与原方法一致。也就是说只有注解名字不同其他参数必须一样,这也是spring mvc 判别两个requestMapping 是否一样的标准。** - old controller ```$xslt @RestController @RequestMapping("api") public class TestController { @RequestMapping("test") public Object test() { return "old"; } } ``` - new controller ```$xslt @RewriteController(你也可以用RestController) @RewriteMapping("api") public class TestRewriteController { @RewriteMapping("test") public Object a() { return "new"; } } ``` ##### 特点 无需额外依赖,引入即生效,最小重写覆盖,补丁方式实现,对原生功能无任何影响 ### 作者 如果你有更好的想法,更好的实现欢迎探讨!!! 作者尝试去支持更灵活的重写,很可惜,无法支持!T^T