Сбой запроса REST с параметром пути в кодировке URI - PullRequest
0 голосов
/ 07 марта 2019

Я использую AngularJS (клиент) и REST интерфейс в моем проекте (сервер, javax.ws.rs.*).Я передаю данные в параметре пути.Он может содержать специальных символов , поэтому я вызываю encodeURIComponent() для кодирования аргументов перед отправкой запроса.

На стороне клиента:

$http.put('/foo/data/' + encodeURIComponent(data) + '/bar');

Контроллер обработает запрос и отправит ответ.

На стороне сервера:

@PUT
@Path("/data/{data}/bar")
public ResultObject handleFooRequest(@PathParam("data") String data) throws Exception {
  return handleRequest(data);
}

Это прекрасно работает на localhost, однакозапрос не выполняется, когда я выполняю запрос на нашем производственном сервере ( Ошибка 400: неправильный запрос ).Что я делаю не так и почему он работает на одном сервере и не работает на другом?В целом, мой подход правильный?Нужно ли указывать RESTEasy для декодирования аргументов?Насколько я понимаю (я прочитал документацию), он делает это по умолчанию.

...