如何在Spring mvc的拦截器或AOP中终止执行 并返回json
@Component
public class ManagerInterceptor extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException {
LOGGER.info("begin ManagerInterceptor");
if (request.getMethod().equals("OPTIONS")) {
return true;
}
String user = request.getHeader("user");
String password = request.getHeader("password");
if (StringUtils.isEmpty(user) || StringUtils.isEmpty(password) || !user.equals("giraffe") || !password.equals("tree")) {
response.setContentType("application/json;charset=utf-8");
ReturnObject returnObject = ReturnObject.fail("就不告诉你什么错误 (๑╹◡╹)ノ");
response.getWriter().print(JSON.toJSONString(returnObject));
return false;
}
return true;
}
}
4 回答1.2k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
1 回答2.5k 阅读✓ 已解决
2 回答715 阅读✓ 已解决
2 回答1.7k 阅读
2 回答1.7k 阅读
2 回答1.3k 阅读
interceptor 如果要返回json,比较麻烦,比较方便的做法是抛一个异常,然后在@ExceptionHandler里处理。