Qual è il modo corretto di generare un'eccezione se una query di database restituisce vuoto? Sto cercando di utilizzare il metodo .orElseThrow()
ma non si compila:Spring CrudRepository .orElseThrow()
Meeting meeting = meetingRepository.findByMeetingId(meetingId).orElseThrow(new MeetingDoesNotExistException(meetingId));
Il compilatore sta dicendo:
", ha metodo orElseThrow (fornitore) nel tipo opzionale non è applicabile per la argomenti (MeetingRestController.MeetingDoesNotExistException)
E 'possibile farlo con le espressioni lambda?
Cr udRepository:
import java.util.Optional;
import org.springframework.data.repository.CrudRepository;
public interface MeetingRepository extends CrudRepository<Meeting, Long>{
Optional<Meeting> findByMeetingId(Long id);
}
Eccezione:
@ResponseStatus(HttpStatus.CONFLICT) // 409
class MeetingDoesNotExistException extends RuntimeException{
public MeetingDoesNotExistException(long meetingId){
super("Meeting " + meetingId + " does not exist.");
}
}
Ha funzionato! Grazie! – szxnyc