mysql将请求主体作为JSON存储到Java数据库中
我想将请求主体存储到数据库中。我正在将标题和请求存储到审计跟踪表中
对于标题的转换,我创建了一个映射,然后将json存储到数据库中,如下所示:
String method = httpServletRequest.getMethod();
Enumeration<String> values = httpServletRequest.getHeaderNames();
Map<String,String> headers = new HashMap<String, String>();
while (values.hasMoreElements()) {
String key = values.nextElement();
String innerValue = (String)httpServletRequest.getHeader(key);
headers.put(key,innerValue);
}
// converting object to Array
auditTrail.setHeaders(appUtility.objectToString(headers));
如何将请求主体作为json存储到数据库中(暂时忽略文件)?请求主体可以是一个对象、对象数组或组合
现在,我已经编写了一个方面,它将所有传入的请求存储到数据库中。当我知道对象时,存储对象的json很容易,但是我们如何使其通用
# 1 楼答案
如果您知道内容是JSON,并希望从流中读取数据,则可以通过以下方式执行:
如果需要验证jsonBody是否真的是JSON,可以使用Jackson:
如果你有一个身体作为对象,你可以使用杰克逊
例如:
Jakson和maven: