在Spring 项目中 有时候需要再Filter中直接返回json 数据给前端/客户端,例如继承 OncePerRequestFilter 在它的
doFilterInternal 中有时候需要直接返回数据,而这个是无返回参数方法
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException {
//xxxx
chain.doFilter(request,response);
}
但是有 HttpServletResponse 参数
创建如下工具类
public class RenderUtil {
public static void renderJson(HttpServletResponse response, Object jsonObject) {
try {
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
PrintWriter writer = response.getWriter();
writer.write(JSON.toJSONString(jsonObject));
} catch (IOException e) {
// do something
}