В приложении Spring MVC я зарегистрировал конвертер в @InitBinder
для преобразования числовых параметров запроса c в некоторый тип домена. Работает нормально. Однако, когда преобразование завершается неудачно, результирующий объект ошибки (с использованием zalando / problem-spring-web ) будет сообщать клиенту сведения о запрошенном типе Java. Наши эксперты по безопасности считают, что это проблема.
Виновник в этом , вероятно, , а не библиотека проблем, создающая ответ - он просто получает сообщение из выданного исключения. Это сообщение создано в конструкторе TypeMismatchException
. Это исключение, которое будет обернуто вокруг любого исключения, которое я выброшу сам. Я могу бросить его напрямую и передать в него несколько null
значений, пока сообщение не станет Failed to convert value of type 'java.lang.String'
. Это наполовину хорошо, потому что целевой тип там не закодирован.
Есть ли способ передать значимое сообщение из конвертера, но избегать появления целевого типа в сообщении исключения, которое пузырится?