Как перестать притворяться, что не использует и не экранирует строковые данные?

У меня есть прокси, который находится между клиентом и сервером, которые общаются с помощью объектов 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()) и симулирую прекращение экранирования строки.

Другие вопросы по тегам