Имитация дублирования параметров запроса клиента

#java #spring #rest #post #feign

Вопрос:

Я использую притворный клиент для вызова конечной точки REST(метод POST), но я получаю плохую ошибку запроса. Ниже приведен запрос.

 @PostMapping(value = "/api/2.0/fo/report/?action=launchamp;template_id={template_id}amp;output_format=csvamp;hide_header=1amp;report_title={report_title}amp;use_tags=1amp;tag_set_by=nameamp;tag_set_include={included_tags}")
String launchReport(@RequestHeader(X_REQUESTED_WITH) String curlSample, @RequestHeader("Cookie") String cookie, @RequestParam("template_id") String templateId, @RequestParam("report_title") String reportTitle, @RequestParam("included_tags") String includedTags);
 

Здесь файл cookie — это заголовок сеанса из предыдущего запроса. Мне нужно установить это для аутентификации.. Таким образом, есть два инициатора запроса.. Ниже приведена ошибка,

 feign.FeignException$BadRequest: [400 Bad Request] during [POST] to [https://xxx.xxx.xxx/api/2.0/fo/report/?action=launchamp;template_id=xxxamp;template_id=xxxamp;template_id=xxxamp;output_format=csvamp;hide_header=1amp;report_title=xxxamp;report_title=xxxamp;report_title=xxxamp;use_tags=1amp;tag_set_by=nameamp;tag_set_include=xxx] [xxxClient#launchxxx(String,String,String,String,String)]: [<?xml version="1.0" encoding="UTF-8" ?>
 

Я видел, что параметры дублируются в запросе. Как преодолеть эту проблему?

Ответ №1:

Использование @PathVariable вместо @RequestParam решило проблему