인프런 커뮤니티 질문&답변

Devel님의 프로필 이미지
Devel

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

31강. 대출 기능 개발하기

31강 따라하는데 계속 오류가 납니다

작성

·

652

·

수정됨

2

BookService

 51번째줄 오류

 41번째줄 정상, 51번째줄 오류

51번째줄 오류, 62번째줄 오류, 65번째줄 정상

UserRepository.

오류코드

 

강사님 안녕하세요!

좋은 강의 잘 듣고 있습니다.

강의를 따라하고 있는데 오류가 나서 더 이상 진행이 안돼서요 ㅠㅠ

BookService에서 41번째 줄의 orElseThrow 과 65번째줄 orElseThrow는 오류가 안 나는데

51번째의 orElseThrow , 책 반납하는 62번째의 orElseThrow 는 빨간줄이 뜹니다.

그대로 따라한 것 같은데 BookService orElseThrow이 부분에서 왜 계속 오류가 나는지 모르겠습니다...

뭐 때문일까요??

 

답변 1

1

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요, Devel님!! 좋은 질문 남겨주셔서 감사드립니다! 😊

정확한 코드는 Repository 쪽을 확인해보아야 알 것 같은데요, 아마 제 추측으로는 높은 확률로 Repository에서 Optional<User> 대신 User 를 반환하는 것 같습니다! orElseThrow 는 Optional에서 사용할 수 있는 함수이기 때문이죠!!

  • 추가 - Repository 코드도 올려주셨군요~~ 크으…! 👍 Optional로 인한 차이가 맞습니다!!

꼭 해결하셨으면 좋겠네요, 또 궁금한 점 있으시면 편하게 질문 남겨주세요, 감사합니다!! 🙏

저도 비슷한 상황이라 답글드립니다. 제가 궁금한 건 Optional로 바꾸면 해당 에러가 해결되는데 반대로 UserServiceV2 부분이 에러가 납니다. 아무래도 타입 때문인 것 같은 데 어떻게 해결하면 좋나요?

// NEW 유저 삭제
@Transactional
public void deleteUser(String name) {
    User user = userRepository.findByName(name);
    if (user == null) {
        throw new IllegalArgumentException();
    }
    userRepository.delete(user);
}
Devel님의 프로필 이미지
Devel

작성한 질문수

질문하기