Проблема с URIBuilder и параметром с «,»

Я разрабатываю свое приложение, создавая URL-адрес с помощью URIBuilder.

На данный момент все идеально, пока я не обнаружил, что параметр приходит так, что «02025,02024», ну, прямо сейчас я сделал это следующим образом:

    public static URIBuilder addVariableUrl(URIBuilder url, String name, String value) {
    return url.setParameter(name, value);
}

Таким образом, когда я получаю параметр, я правильно добавляю его к URL-адресу ... но если я получаю параметр, упомянутый выше, URL-адрес, который формирует меня, будет следующим

"URL_FORMADA"? eess = 02025% 2C + 02024 (eess - это имя), поскольку вы можете видеть, что он не знает, как интерпретировать символ "," и помещает его в% 2C "(в шестнадцатеричном формате)

. Поэтому, когда я вызываю URL, это отправка с символами в шестнадцатеричном формате, и это дает ошибку.

Знаете ли вы, как адаптировать URIBuilder для получения символа «,»?

Большое спасибо!

0
задан 29.11.2019, 10:28
1 ответ

У запятой есть специальное значение в одной унифицированный указатель ресурса , - один carГЎcter отдельное помещение и должен быть убежавшим, когда ты хочешь послать это как часть ее informaciГіn, равно как место. Например:

let urlParcial ='02025,02024';
let codificado=encodeURIComponent(urlParcial);
console.log(codificado);
console.log(decodeURIComponent(codificado));

Так же ты должен относиться к стоимости в Java, декодируя стоимость. Обычно frameworks, которые управляют о просьбах vГ - в HTTP (как Спринг, например), обычно управляют об этой transformaciГіn automГЎticamente, но в случае необходимости ты можешь делать это вручную asГ-:

String datos = URLDecoder.decode(url,"UTF-8");

используя класс URLDecoder Java Я ЗНАЮ

Сказанными по-другому: твой URIBuilder преобразовывает parГЎmetro правильной формы, но это - сервер тот, который не estГЎ делая ее transformaciГіn обратная правильно. Унифицированный указатель ресурса с запятыми может давать тебе проблемы

4
ответ дан 01.12.2019, 10:38
  • 1
    Большое спасибо Пабло!, сейчас sí с decode меня преобразовывает шестнадцатеричный в " ". С этим он стоит мне, большое спасибо! – Javier 29.11.2019, 13:43

Теги

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