[Spring Boot] 67. 스프링부트 블로그 v3 (RestAPI) (12) 통합테스트 4 - BoardControllerTest

김주희's avatar
May 12, 2025
[Spring Boot] 67. 스프링부트 블로그 v3 (RestAPI) (12) 통합테스트 4 - BoardControllerTest
update
getBoardOne
getBoardDetail
list
save
 

1. update

notion image
 

2. getBoardDetail

notion image
notion image
 
뭐가 문제였나면?
userId에 해당하는 좋아요가 없는 게시글은 무조건 터지게 코드를 작성해뒀던 것!
→ userId에 해당하는 좋아요가 없으면 return Optional.ofNullable(null); 코드가 동작하는데 이건 결국 Optional.empty()와 같다. 그냥 안터지게 감싸기만 한 빈박스인 것. 근데 이게 service로 넘어가면 비어있는거니까 orElseThrow에 의해 예외처리 되는 것!
notion image
 
notion image
 
notion image
 
그래서
orElseThrow → orElse(null)로 처리
 
notion image
orElse(null)말고 orNullable은 안되나 생각이 들었지만 잘못된 생각이엇다.
orNullable는 애초에 db로부터 가져올때 그 값이 null일 수도 있고 그러면 터지니까 감싸서 가져오는 것임
 
 
notion image

3. getBoardOne

notion image
Share article

jay0628