问题一、websocket访问路径一般是ws://ip:端口/定义的路径。
假如定义了一个websocket@ServerEndpoint(value = “/websocket”)。
正常访问路径为ws://ip:端口/websocket;如果加上了server.servlet.context-path=/a应用程序的上下文路径,访问路径应该ws://ip:端口/a/websocket。
问题二、设置拦截器配置
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(authenticationInterceptor)
.addPathPatterns("/v1/**");
}
如果没有配置server.servlet.context-path上下文路径,这段配置含义是拦截/v1路径下所有访问url。如果有配置server.servlet.context-path=/a;这段配置含义为拦截/a/v1下所有访问url;server.servlet.context-path会默认配置进拦截器,如果在拦截器 写入了上下文路径,addPathPatterns(“/a/v1/**”); 实际拦截就会成为/a/a/v1,就会导致拦截器不生效。