이번에 신규 프로젝트를 작업하면서,
화면을 작업하다가 객체에 내가 원하는 데이터가 잘 있는지 디버깅해보고 싶어서 사용했던 방법을 공유하고자 글을 작성한다.
보통 화면에서 객체 디버깅을 한다면,
1. lombok 의 훌륭한 @Data 어노테이션을 사용하거나,
2. .toString() 메소드를 오버라이딩으로
확인하면 되겠지만, 이 글에선 두 방법 모두 사용하지 않고 Gson 으로 디버깅하였다.
=== TMI
개인적으로 @Data 어노테이션 남발을 금지하고, .toString() 오버라이딩은 지저분해보이고 별로 선호하지 않기 때문에..
핵심은 GsonBuilder 의 .setPrettyPrinting() :)
/**
* 화면 출력용 컨트롤러 (임시) todo: 테스트 끝나면 제거
*/
@PostMapping("/gsonTest")
@ResponseBody
@Deprecated
public ModelAndView gsonTest(@ModelAttribute TempModel tempModel) {
// 로그로 확인
System.out.println(tempModel); //-> 이 경우 제대로 찍히지 않는다.
// 화면에서 확인
Gson gson = new GsonBuilder().setPrettyPrinting().create();
ModelAndView modelAndView = new ModelAndView();
modelAndView.setStatus(HttpStatus.OK);
modelAndView.setViewName("test/gson);
modelAndView.addObject("tempModelToGson", gson.toJson(tempModel));
return modelAndView;
}
반응형
'Backend > JAVA' 카테고리의 다른 글
[JAVA] byte[] to File, File to MultipartFile (fin. byte[] to MultipartFile) (0) | 2020.09.09 |
---|---|
[JAVA] List 반복문 안에서 객체 remove (feat.ConcurrentModificationException) (0) | 2020.08.06 |
[Java] 문자열이 Enum 에 포함되어 있는지 확인하는 방법 (0) | 2020.03.23 |
[JAVA] 사용했던 정규식 모음 (0) | 2020.03.10 |
JAVA 숫자 세자리 수 마다 콤마찍기 (1) | 2018.08.08 |
댓글