Задачи
1. Редактирайте приложението, като добавите DTO за филтриране на входящи данни за отчети. В класа трябва да се осигури валидация на следните полета:
- Времето не трябва да бъде null и трябва да започва да отброява след полунощ (LocalTime time);
- Началната дата трябва да е в бъдещето и да не е null (LocalDateTime from);
- Крайната дата трябва да е в бъдещето и след началната дата, както и да не е null (LocalDateTime to).
2. Създайте клас за изключение за ненамерен ресурс ResourceNotFoundException.java, който наследява Exception. Приложете хвърлянето на изключението в controller слоя, симулирайки извлечен несъществуващ ресурс. Предвидете GlobalExceptionHandler, който да описва отговора към клиента при възникване на това изключение.
3. Добавете валидация на следните полета при добавяне или актуализиране на:
Задача:
- Заглавието не може да бъде празно и трябва да е между 10 и 255 символа;
- Описанието трябва да съдържа поне 10 символа и не може да е по-дълго от 2500 символа;
- Крайният срок не може да бъде null и трябва да бъде в бъдещето.
Отчет:
- Съдържанието не може да бъде празно и трябва да съдържа между 10 и 2500 символа;
- Работното време не може да бъде null и трябва да започва след полунощ (00:00).
В GlobalExceptionHandler осигурете подходящ отговор към клиента при некоректно подадени данни, предизвикващи MethodArgumentNotValid изключение.