
eg:两个 RequestMapping"/table""/user"。想同一改成"/v1/table""/v1/user"
1 gejun123456 2018-11-21 11:22:34 +08:00 写个 java main 函数 正则表达式 匹配替换 |
2 mineqiqi 2018-11-21 11:50:56 +08:00 如果所有的 controller 都是这个前缀开头,可以 server.servlet.context-path 加这个配置 |
4 ClutchBear 2018-11-21 12:35:25 +08:00 我们这里的解决方式是: 定义一个静态变量 path=v1 这 20 个都用这个镜头变量拼接, 后面再需要改成 v2 的话, 只需要改 path 的赋值就行. |
5 xiluo 2018-11-21 12:43:20 +08:00 https://stackoverflow.com/questions/28006501/how-to-specify-prefix-for-all-controllers-in-spring-boot You can provide a mapping to root context path of your spring boot application to /api/* in your custom configuration. ```java import org.springframework.boot.autoconfigure.web.DispatcherServletAutoConfiguration; import org.springframework.boot.context.embedded.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.DispatcherServlet; @Configuration public class DispatcherServletCustomConfiguration { @Bean public DispatcherServlet dispatcherServlet() { return new DispatcherServlet(); } @Bean public ServletRegistrationBean dispatcherServletRegistration() { ServletRegistrationBean registration = new ServletRegistrationBean( dispatcherServlet(), "/api/"); registration.setName(DispatcherServletAutoConfiguration.DEFAULT_DISPATCHER_SERVLET_REGISTRATION_BEAN_NAME); return registration; } } ``` or add this to your application.properties in src\main\resources folder ``` server.cOntextPath=/api/* ``` |
6 |
7 mebixus 2018-11-21 17:40:31 +08:00 咳咳,如果只有 20 个,并且不会频繁改动的话,在 idea 里 command+shift+R (快捷键可能不一样)在整个工程里搜索替换一下就可以了啊。 |
8 Guozi1989 2018-11-21 17:45:18 +08:00 20 个应该不多,一个个的加吧。如果全部要替换的话就是 `server.cOntextPath=/V1/*` |
9 quickma 2018-11-21 17:51:13 +08:00 对修改关闭,对拓展开放 |
10 StevenTong 2018-11-21 18:04:20 +08:00 整个工程替换就加 gateway 不是的话 批量替换 |
12 zjengjie 2018-11-21 19:26:40 +08:00 可以重写 RequestMappingHandlerMapping 的 registerHandlerMethod,在里面判断哪些 controller 需要修改,然后创建一个新的 RequestMappingInfo 代替原来的。 |
13 deweixu 2018-11-21 20:05:41 +08:00 用 nginx 反向代理,在 nginx 配置里加,手动加狗头。 |
14 ioiogoo 2018-11-22 08:59:02 +08:00 如果是全局的前缀的话,在配置文件里面加 server.servlet.path=/v1,适用于 spring boot |
15 571726193 2018-11-23 15:37:21 +08:00 我记得继承是可以的 因为我上一家公司就是这样的 用继承解决的 |