#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 решило проблему