AOP를 사용해서 로그를 남기고 그 로그를 DB에 적재하는 업무중에 힘들어 하던 중
ToStringBuilder.reflectionToString
를 사용하면 response값을 String으로 변환해서 한 컬럼에 받을수 있다는 사실을 확인했다.
하지만 단점이.. UTF-8이 지원이 안된다는 부분때문에
다른방식을 선택
RsResponse rsResponse = (RsResponse) args;
GsonBuilder gsonBuilder = new GsonBuilder();
gsonBuilder.registerTypeAdapter(LocalDateTime.class, new LocalDateTimeSerializer());
Gson gson = gsonBuilder.setPrettyPrinting().create();
String json = gson.toJson(rsResponse.getResponse());
JsonObject jsonObject = JsonParser.parseString(json).getAsJsonObject();
RsResponse로 받은 결과를 Object로 받아서
Json으로 변환하도록 하는방법!
gsonBuilder.registerTypeAdapter(LocalDateTime.class, new LocalDateTimeSerializer());
이부분은 타임이 "year" : "2022", "month" : "12", "day" : "21", "hour" : "11", "minute" : "40", "second" : "11", "nano": "23451230" 이런식으로 나오는 형식 때문에
변환하는 방식!