我是在Controller层进行拦截,但是有个过滤器,会对url进行拦截,然后设置一些参数,看了好多问题,好像就是BaseRest里的outJsonString里面把留给关了,然后过滤器会继续执行doFilter()方法,就在这地方报了错,怎么能在拦截器拦截后就把过滤器听了,不让他走doFilter,或者有其他什么方法解决这种问题吗?求大神指教
@Component
@Aspect
public class CxtControllerAspect {
@Autowired(required = false)
private MSchoolMapper schoolMapper;
//定义切点
@Pointcut("execution(* com.school.business.student.rest.StuSchoolStudyRest.cxt*(..))")
public void cxtService() {
}
@Before("cxtService()")
public void beforeMethod(JoinPoint joinPoint)
throws Exception {
Object[] args = joinPoint.getArgs();
HttpServletRequest request = (HttpServletRequest)args[0];
HttpServletResponse response = (HttpServletResponse)args[1];
String schoolId = (String.valueOf(request.getAttribute("schoolId")));
Map map = schoolMapper.queryCityInfoBySchoolId(schoolId);
if (map == null || "0".equals(map.get("cxtsp"))) {
BaseRest.outJsonString(response, "{\"code\":\"0\",\"data\":{},\"msg\":\"不支持!\"}");
return;
}
}
}
@Component
@Aspect
public class CxtControllerAspect {
@Autowired(required = false)
private MSchoolMapper schoolMapper;
//定义切点
@Pointcut("execution(* com.school.business.student.rest.StuSchoolStudyRest.cxt*(..))")
public void cxtService() {
}
@Before("cxtService()")
public void beforeMethod(JoinPoint joinPoint)
throws Exception {
Object[] args = joinPoint.getArgs();
HttpServletRequest request = (HttpServletRequest)args[0];
HttpServletResponse response = (HttpServletResponse)args[1];
String schoolId = (String.valueOf(request.getAttribute("schoolId")));
Map map = schoolMapper.queryCityInfoBySchoolId(schoolId);
if (map == null || "0".equals(map.get("cxtsp"))) {
BaseRest.outJsonString(response, "{\"code\":\"0\",\"data\":{},\"msg\":\"不支持!\"}");
return;
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货