데이터베이스 쿼리가 빈을 반환하면 예외를 throw하는 적절한 방법은 무엇입니까? 나는 .orElseThrow()
방법을 사용하기 위해 노력하고있어하지만 컴파일되지 않습니다 :Spring CrudRepository .orElseThrow()
Meeting meeting = meetingRepository.findByMeetingId(meetingId).orElseThrow(new MeetingDoesNotExistException(meetingId));
을 컴파일러는 말하고있다 :
이"그가 orElseThrow 옵션 종류의 (공급 업체)가 적용되지 않습니다 방법 인수 (MeetingRestController.MeetingDoesNotExistException)
은 가능한 람다 표현식이 작업을 수행 할 수 있나요?
CR udRepository :
import java.util.Optional;
import org.springframework.data.repository.CrudRepository;
public interface MeetingRepository extends CrudRepository<Meeting, Long>{
Optional<Meeting> findByMeetingId(Long id);
}
예외 :
@ResponseStatus(HttpStatus.CONFLICT) // 409
class MeetingDoesNotExistException extends RuntimeException{
public MeetingDoesNotExistException(long meetingId){
super("Meeting " + meetingId + " does not exist.");
}
}
Worked! 감사! – szxnyc