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 1
如果所有的 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
zzlhr 2018-11-21 17:31:04 +08:00
zuul?
|
7
mebixus 2018-11-21 17:40:31 +08:00 1
咳咳,如果只有 20 个,并且不会频繁改动的话,在 idea 里 command+shift+R (快捷键可能不一样)在整个工程里搜索替换一下就可以了啊。
|
8
Guozi1989 2018-11-21 17:45:18 +08:00
20 个应该不多,一个个的加吧。如果全部要替换的话就是 `server.contextPath=/V1/*`
|
9
x7395759 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 1
可以重写 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
我记得继承是可以的 因为我上一家公司就是这样的 用继承解决的
|