Przyjmowanie parametrów ze znakami specjalnymi

0

Mam taki endpoint:

    public String search(@RequestParam String a) {
System.out.print("a=" + a);
        String goodUri = URLEncoder.encode(a, "UTF-8");
        System.out.print("a=" + goodUri);

    }

Gdy wysyłam request to tego endpointu i podaje ?a=asdf~~#test
to metoda zwraca mi wynik w obu przypadkach: a=
Dlaczego gubi wartość tego parametru a?

1

Enkoduj (nie wiem jak to jest po polsku) znaki przed wysłaniem requestu. https://stackoverflow.com/questions/10786042/java-url-encoding-of-query-string-parameters

0

czyli muszę to zrobić po stronie frontu... Innego wyjścia nie ma?

1

@boleq nie bardzo bo są znaki które przeglądarka inaczej zinterpretuje. Np. cokolwiek za # nie pójdzie do serwera bo URL ma jasną specyfikacje i ma pewne znaki specjalne. Jeśli chcesz przesłać dowolne "binarne" dane to enkoduj base64

1 użytkowników online, w tym zalogowanych: 0, gości: 1