目录
目的
在Springboot中创建拦截器拦截所有GET类型请求,获取请求参数验证内容合法性防止SQL注入(该方法仅适用拦截GET类型请求,POST类型请求参数是在body中,所以下面方法不适用)。
核心方法
1、拦截 http://127.0.0.1:8088/api/checkTechCertInfoCancel?name=ljh 类型:
Map<String, String[]> parameterMap = request.getParameterMap();
2、拦截 http://127.0.0.1:8088/api/checkTechCertInfoCancel/ljh 类型:
Map<String, String> pathVariables = (Map<String, String>) request.getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
完整代码
创建拦截器
import com.alibaba.fastjson.JSON;
import com.boc.ljh.utils.Result;
import com.boc.ljh.utils.status.AppErrorCode;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
/**
* @Author: ljh
* @ClassName SqlInterceptor
* @Description 拦截器 用于拦截GET请求校验参数内容
* @date 2023/8/9 10:12
* @Version 1.0
*/
@Component
public class SqlInterceptor implements HandlerInterceptor {