Задать вопрос
  • Не работает удаление записей из БД. Spring boot. В чем проблема?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    У вас тут ошибка:
    @GetMapping(value = "/clients/{clientId/delete}")
    Должно быть:
    @GetMapping(value = "/clients/{clientId}/delete")

    Внимательно читаем логи:

    Error creating bean with name 'ladaController' defined
    No property clientdelete found for type ClientEntity!
    Ответ написан
    Комментировать
  • Как добавить проверку на ввод в spring boot application?

    azerphoenix
    @azerphoenix Куратор тега Spring
    Java Software Engineer
    Добрый день!
    Обычно принято делать следующим образом:
    1) Добавьте либу spring boot validation - https://www.baeldung.com/spring-boot-bean-validation

    2) Создайте DTO. Например, если у вас есть entity User, то также создайте UserRequestDto.
    Например,
    UserRequestDto {
    @NotBlank(message = "Name is mandatory")
    String username;
    
    @NotBlank(message = "Email is mandatory")
    String email;
    }


    3) Валидируйте отправленные в бекенд данные (dto) при помощи вышеуказанной библиотеки и если что-то не так выбрасывайте исключение MethodArgumentNotValidException

    например,
    //@RestController
    @Controller 
    UserController {
    
    public ResponseEntity<User> addUser( @Valid UserDto user ) {
    // конвертируем UserDto -> User и в передаем в сервисный класс для сохранения
    }
    
    }


    Также валидацию можно сделать на клиентской стороне средствами JavaScript или HTML.
    Средствами html можно для инпутов добавить required, указать тип инпута например, <input type="email" />

    P.S. Кстати, у вас в entity NotNull импортирован import com.sun.istack.NotNull;, а должно быть hibernate validator.
    Ответ написан
    8 комментариев