[WEB]오류들/inteilij-git오류
JPA Service 계층 오류 (Optional)
ABAP,ODATA,BTP
2022. 5. 22. 17:12
반응형
public interface MemberRepository extends JpaRepository<Member, Long> {
Optional<Member> findByEmail(String email);
다음과 같이 만들고
public Long addCart(CartItemDto cartItemDto, String email){
Item item = itemRepository.findById(cartItemDto.getItemId()).orElseThrow(EntityNotFoundException::new);
Member member = memberRepository.findByEmail(email);
컴파일 오류발생
핵심은 Optional 을 사용했으면 .orElseThrow를 통해 Service를 날려 줘야 했던것!
<추가줘야할 부분>
.orElseThrow(EntityNotFoundException::new)
public Long addCart(CartItemDto cartItemDto, String email){
Item item = itemRepository.findById(cartItemDto.getItemId()).orElseThrow(EntityNotFoundException::new);
Member member = memberRepository.findByEmail(email)
.orElseThrow(EntityNotFoundException::new);
다음처럼 변경!
if문을 활용하여 member 가 nulll 일 경우에는 UsernameNotFoundException을 통해 해결해 주도록 코딩
public UserDetails loadUserByUsername(String email) throws UsernameNotFoundException {
Member member = memberRepository.findByEmail(email).orElseThrow(EntityNotFoundException::new);
if (member == null) {
throw new UsernameNotFoundException(email);
}
반응형