Отключить шестнадцатеричный формат при преобразовании String в Long весной - PullRequest
0 голосов
/ 01 октября 2019

Мой контроллер принимает параметр запроса типа Long. Когда вызов rest содержит значение «0x100», Spring автоматически преобразует его в значение 256. Есть ли способ отключить преобразование из шестнадцатеричного в декабрьское и вместо этого выдать некоторое исключение IllegalArgumentException?

Я заметил, что это преобразовывается в классе NumberUtilsи когда значение начинается с 0x, 0X или #, оно использует Long.decode вместо Long.valueOf.

Одно из возможных решений, на мой взгляд, заключается в реализации собственного ConverterFactory, но это кажется излишним для такогобазовое поведение.

Мне нужно будет принять только десятичные значения. Я ожидаю следующего поведения:

100 => допустимо

abc => недействительно

0x100 => недействительно (но на самом деле оно действительно)

Любое предложение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...