Если для валидации входящих запросов в Spring Boot на Kotlin вы используете библиотеку spring-boot-starter-validation, то эта статья будет для вас полезна. Работа с библиотекой в Kotlin имеет одну особенность, вязанную с использованием non nullable Kotlin-типов. Рассмотрим тестовый проект. В контроллере есть 2 эндпоинта (2 функции). Один принимает запрос с полем nullable типа. Второй — принимает запрос с полем non nullable типа. Входящие параметры обеих функций помечены аннотацией @Valid. Поля обеих моделей запросов помечены аннотацией @NotBlank. Также у нас есть контроллер для перехвата и обработки ошибок валидации: Направим на основные два эндпоинта одинаковые запросы с полем name в JSON body, равным null, и сравним полученные ответы. От non-nullable эндпоинта мы получим вот такой ответ: Здесь мы видим код ошибки 400 и дублирующую этот код информацию в JSON body. Полезна для нас эта информация? Неочень. От nullable эндпоита мы получаим вот такой ответ: Здесь мы также видим код ответа