spring boot controller 增加指定前缀的两种方法
生活随笔
收集整理的這篇文章主要介紹了
spring boot controller 增加指定前缀的两种方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、增加配置
server.servlet.context-path: /api
這種是最常見的,加上這個配置后,所有的url,必須帶上/api的前綴,才能訪問到該url
2、過濾攔截
這種是加上/api也可以訪問,不加/api也可以訪問,適合項目重構修改的適合用
import org.apache.commons.lang.StringUtils; import org.springframework.context.annotation.Configuration; import org.springframework.core.annotation.Order;import javax.servlet.*; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; import java.io.IOException;@Configuration @Order(1) @WebFilter(filterName = "urlFilter", urlPatterns = "/api/*") public class UrlFilter implements Filter {@Overridepublic void init(FilterConfig filterConfig) throws ServletException {}@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest httpRequest = (HttpServletRequest) request;String servletPath = httpRequest.getServletPath();if (StringUtils.isNotBlank(servletPath) && servletPath.startsWith("/api")) {String newPath = servletPath.substring(4);request.getRequestDispatcher(newPath).forward(request, response);} else {chain.doFilter(request, response);}}@Overridepublic void destroy() {} }總結
以上是生活随笔為你收集整理的spring boot controller 增加指定前缀的两种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用NSURLProtocol实现离线缓
- 下一篇: java 线程池 资源回收_JAVA线程