Как перестать притворяться, что не использует и не экранирует строковые данные?
У меня есть прокси, который находится между клиентом и сервером, которые общаются с помощью объектов json. Прокси должен обрабатывать данные в виде строки. Он не знает типов, которые ему просто необходимы для сканирования данных на наличие строк. Проблема в том, что когда я пересылаю данные на сервер с прокси-сервера, строка в кавычках и кавычки в строке экранируются. Мне нужно отправить строку точно так, как есть.
@Headers({"Accept: application/json"})
interface ExampleClient {
@Headers({"Content-Type: application/json"})
@RequestLine("POST /examples/postTest")
Response postTest(String body);
}
Строка
{"name":"Alfred","nickname":"Alfy","number":45}
но в теле поста это
"{\"name\":\"Alfred\",\"nickname\":\"Alfy\",\"number\":45}"
Это происходит независимо от того, какой тип контента установлен.
Могу ли я в любом случае опубликовать строку, используя feign, без указания ее количества?
0 ответов
В моем коде
GsonDecoder decoder = new GsonDecoder();
client = Feign.builder()
**.encoder(new GsonEncoder())**
.logLevel(feign.Logger.Level.FULL)
.logger(new Slf4jLogger(CampaignsClient.class))
.requestInterceptor(template -> template.header(AUTHORIZATION_HEADER, "Bearer ..."))
.target(CampaignsClient.class, "https://server");
Я удаляю строку кода .encoder(new GsonEncoder()) и симулирую прекращение экранирования строки.