import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Map;
@Slf4j
public class HeadInterceptor implements HandlerInterceptor {
private HttpServletRequest initHeader(HttpServletRequest request) {
System.out.println("");
return request;
}
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object o) throws Exception {
System.out.println("");
Map<String, String> aa = new HashMap<>();
aa.put("code", "400");
aa.put("desc", "不允许登录");
response.setHeader("Access-control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS");
response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers"));
response.setHeader("Access-Control-Allow-Headers", "Content-Type,Access-Token,token");//这里“Access-Token”是我要传到后台的内容key
response.addHeader("Access-Control-Expose-Headers", "*");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Cache-Control", "no-cache");
response.setContentType("application/json; charset=utf-8");
response.setCharacterEncoding("UTF-8");
response.setStatus(HttpServletResponse.SC_OK);
ObjectMapper objectMapper = new ObjectMapper();
PrintWriter writer = response.getWriter();
writer.write(objectMapper.writeValueAsString(aa));
writer.close();
return false;
}
@Override
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
}
@Override
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
}
Interceptor和filter返回JSON数据给前端
最新推荐文章于 2023-11-22 17:50:38 发布