Я разрабатываю приложение, где я отправки запроса GET на веб-службы REST с помощью @RequestMapping(value = "myURLpattern", method = RequestMethod.GET, produces = "image/png")
Синтаксический и кодирование URL перед отправкой на отдых WebService
я наткнулся на ошибку, если кто-то входит # в URL строки запроса он влезает оттуда http://myserver.com:8080/csg?x=1&y=2#4&z=32&p=1
так что я пытался кодировать его через фильтр HTTPRequestWrapper
так что #
будет заменен %23
использованием URLEncoder
.
Моя проблема заключается в кодировании URL, сначала мне нужно прочитать URL(request.getRequestURL())
. и getURL снова не могут читать строку после #. request.getRequestURL()
вернется только (http://myserver.com:8080/csg?x=1&y=2)
Есть ли другой способ разобрать полный URL-адрес и закодировать его перед отправкой на веб-службу REST?
Спасибо для вашей справки, так что если кто-то входит # в одном из сайтов поля, как серийный номер: 12 # ser4 то мы не можем разобрать его на стороне сервера. http://myserver.com:8080/csg?serial=12#ser4&manufacture=12-07-2013&warranty=3 для описанного выше сценария, как мы будем его обрабатывать – Krishna
Кодировать его на стороне клиента. Взгляните на функцию encodeURIComponent в javascriopt. encodeURIComponent ('12 # ser4'); сделало бы '12 # ser4 'стать '12% 23ser4', что вы должны отправлять на сервер, поэтому ваш запрос будет выглядеть следующим образом: http://myserver.com:8080/csg?serial=12%23ser4&manufacture= 12-07-2013 & гарантия = 3 –