Я даю свой URL-адрес для отправки запроса Ajax следующим образом:
url += '/' + something + '/' + id;
var response;
$.ajax({
async : false,
type: 'DELETE',
url: url,
...
My removeId
- это переменная, которая содержит символ UTF-8.Я буду обрабатывать эту переменную на стороне Java следующим образом:
@RequestMapping(value = "/something/{id}", method = RequestMethod.DELETE)
public void myMethod(HttpServletResponse response, @PathVariable String id) {
...
Однако переменная id
на стороне Java отличается от ее оригинала, поскольку символы UTF-8 изменяются на странные вещи.
Как я могу отправить символы UTF-8 со стороны JavaScript и снова преобразовать их на моей стороне Java (Spring 3 с REST, мой веб-сервер - Tomcat 7)?
PS 1: Даже если я не использую encodeUriComponent
кажется, что мой URL кодируется сам по себе?
PS 2: Чтобы сделать вопрос более понятным:
i.e. my id variable is araç and sent URL is: localhost:8080/sdfasf/ara%C3%A7
Когда я вижу, что переменная id имеет это значение:
araç
вместо:
ara%C3%A7
Автоматически ли это делает Spring (или Tomcat)?Есть ли способ декодировать его автоматически, когда речь заходит о контроллере как переменной пути (я имею в виду, не записывая ничего подобного:
URLDecoder.decode(id,"UTF-8");
, он будет преобразован автоматически)