HTTTP响应中获取JSON数据

master
Eterlaze 8 months ago
parent 5c1cbf2c7e
commit c52a2d0f08

@ -0,0 +1,44 @@
package com.example.api.utils;
import com.alibaba.fastjson.JSON;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
/**
* ResponseUtil HTTP JSON
*/
public final class ResponseUtil {
/**
* HttpServletResponse JSON
* @param response HttpServletResponse
* @param o JSON
*/
public static void writeJson(HttpServletResponse response, Object o) {
// 设置跨域资源共享CORS相关的响应头允许跨域请求
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
// 设置响应内容类型为 JSON 格式,并指定字符集为 utf-8
response.setContentType("application/json;charset=utf-8");
// 设置 HTTP 响应状态码为 200OK
response.setStatus(200);
try {
// 获取 PrintWriter 对象,用于向客户端写入数据
PrintWriter writer = response.getWriter();
// 将对象转换为 JSON 字符串
writer.write(JSON.toJSONString(o));
// 清空缓冲区,确保所有数据都写入输出流
writer.flush();
// 关闭 PrintWriter 对象
writer.close();
} catch (IOException e) {
// 如果发生 IO 异常,打印堆栈跟踪信息
e.printStackTrace();
}
}
}
Loading…
Cancel
Save