-
20221229 TIL optional한 dto의 값을 어떻게 하면 좋을까?TIL 2022. 12. 29. 17:57
포트폴리오 작업을 하면서 필수값이 아닌 입력값을 어떻게 다루면 좋을지 고민이 되었다.
예를 들어 위 form에서 포인트를 입력하지 않아도 질문을 올릴 수 있다.
이 때 null 값이 들어오게 되는데, 이를 어떻게 백엔드에서 처리를 하면 좋을지 고민이 되었다.
https://www.baeldung.com/jackson-optional
DTO의 필드를 Optional로 쓰면 어떨까 했지만 위와 같이 안된다는 글을 찾을 수 있었고,
많은 검색 이후로 이에 대해 아래와 같은 답을 찾을 수 있었다.
// QuestionController.java Optional<Long> pointsOptional = Optional.ofNullable(questionRequestDto.getPoints()); Points points = pointsOptional.isPresent() ? new Points(questionRequestDto.getPoints()) : new Points(0L);
컨트롤러에서 위와 같이 Optional로 값을 받아주고,
삼항 연산자를 사용해서 값이 있다면 받아온 값을 사용하고,
없을 때는 없을 때에 해당하는 값을 넣어주는 방식을 사용하면 된다.
위 방식을 이용하면 null일 수 있는 값을 언제든 다룰 수 있게 된다.
어떻게 하면 좋을지 모르는 문제를 만났을 때 어떻게 해결할 수 있을지 고민을 해보고,
만약 그 방법이 통하지 않는다면 다른 해결법을 찾아보도록 하자!
'TIL' 카테고리의 다른 글
20230103 TIL codeceptJS 인수테스트 디버깅하기 (0) 2023.01.03 20230102 TIL 작성자인지에 따라 다른 UI를 보여주기 (0) 2023.01.02 20221228 TIL Set을 http request, response body에 넣는 방법 (0) 2022.12.28 20221227 TIL 레버리지를 땡겨보자 (0) 2022.12.27 20221226 TIL 핵심 기능부터 작업을 해야한다 (0) 2022.12.26