Я поручаю моему 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");
он будет преобразован автоматически)