Вызов службы GET Rest с использованием apiClient из моего Java-приложения. Если у меня есть '&' как часть ввода param. Принимая его в качестве разделителя - PullRequest
0 голосов
/ 16 апреля 2019

Я использую GET Rest API. Я импортировал клиентский API и использую его для вызова сервиса. Если у меня есть & как часть ввода, как "1 & 2". Он не кодируется, и источник получает параметр как 1. Когда я использую swagger ui для вызова того же метода, он работает нормально.

Я совершенно новичок в веб-сервисах. Пожалуйста, дайте мне знать, если я пропустил некоторые необходимые детали, чтобы все поняли мою проблему. Мы используем swagger code-gen для генерации API клиента.

String code = "1 & 2";

String productId = productControllerApi.getAllProductIdUsingGET(null, null, null, code);

Что я должен сделать, чтобы getAllProductIdUsingGET получил параметр как 1 & 2?

Я пытался

URLEncoder.encode(code, CharEncoding.UTF_8);

но теперь getAllProductIdUsingGET получает параметр как 1+%26+vikram и не выдает мне необходимый вывод.

Могу ли я что-то сделать на стороне потребителя, или это источник, который должен обрабатывать?

1 Ответ

0 голосов
/ 16 апреля 2019

Вы должны отправить закодированную строку в Rest API, а затем использовать:

String decoded = java.net.URLDecoder.decode(code , "UTF-8");
String productId = productControllerApi.getAllProductIdUsingGET(null, null, null, decoded);
...