springboot controller 增加指定前缀的两种实现方法

网友投稿 689 2022-10-29

springboot controller 增加指定前缀的两种实现方法

springboot controller 增加指定前缀的两种实现方法

目录controller 增加指定前缀1、增加配置2、过滤拦截springboot服务端口、项目前缀的配置在application.properties中配置

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 {

@Override

public void init(FilterConfig filterConfig) throws ServletException {

}

@Override

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chafMmZZjin) 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);

}

}

@Ohttp://verride

public void destroy() {

}

}

springboot服务端口、项目前缀的配置

在application.properties中配置

server.port: 8081

server.context-path: /demo

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:封装了okhttp的网络框架,简化Android网络请求
下一篇:Leetcode 582. Kill Process 题解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~