Почему мой json возвращается из контроллера с пустыми полями?

Как насчет чего-то вроде

decodeURI(window.location.search).replace(/\D/g, '')

Поскольку ваш window.location.search кодируется URI, мы начинаем с его декодирования. Затем замените все, что не является числом ни с чем. Для вашего конкретного URL он вернет 2


Правка для ясности:

Местоположение вашего примера http: //localhost/index.html? John% 20jacob % 202? # 12345 состоит из нескольких частей, но интересной здесь является часть после ? и до #.

В Javascript этой интересной части строка запроса (или search), доступен через window.location.search. Для вашего конкретного местоположения window.location.search вернется ?john%20jacob%202?.

%20 - это кодированное URI-пространство. Чтобы декодировать (то есть удалить) все кодировки URI, я сначала запускаю строку search через функцию decodeURI. Затем я заменяю все, что не является числом в этой строке, с пустой строкой, используя регулярное выражение.

Регулярное выражение /\D/ соответствует любому символу, который не является числом, а g является модификатор, указывающий, что я хочу совместить все (а не просто останавливаться после первого совпадения), в результате получится 2.

2
задан zafirzarya 19 January 2019 в 14:23
поделиться

1 ответ

Вам нужны геттеры и сеттеры для каждого поля, которое вы хотите выставить. Вы можете использовать @Data из проекта lombok, чтобы избежать стандартного кода. https://projectlombok.org/

0
ответ дан Rodrigo Sene 19 January 2019 в 14:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: