java直接在response中添加写入返回信息

时间:2025-02-13 20:46:37
/** * 网络请求直接在response中返回信息 * @param map 返回response中的信息 * @param request * @param response * @param code * @param msg * @throws JsonProcessingException * @throws IOException */ public static void outPrint(Map<String,Object> map, HttpServletRequest request, HttpServletResponse response, Integer code, String msg) throws JsonProcessingException, IOException { HttpServletResponse httpresponse = (HttpServletResponse) response; Map<String, Object> m=new HashMap<>(); if(!map.isEmpty()){ for(Map.Entry<String,Object> me:map.entrySet()){ String key=me.getKey(); Object value=me.getValue(); m.put(key,value); } } if(code == null) { m.put("code", 300); }else { m.put("code", code); } m.put("msg", msg); httpresponse.reset(); httpresponse.setHeader("Access-Control-Allow-Credentials", "true"); httpresponse.setHeader("Access-Control-Allow-Origin", "*"); httpresponse.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers")); httpresponse.setContentType("application/json;charset=UTF-8"); PrintWriter writer = null; try { writer = httpresponse.getWriter(); writer.write(JSONObject.toJSONString(m)); } catch (IOException e) { e.printStackTrace(); } finally { if (writer != null) writer.close(); } }