У меня есть Spring Boot REST API, написанный на Java. Я использую клиент Feign для подключения к другому REST API. Конечная точка использует параметры заголовка, apikey и serviceName. Я получаю эту ошибку, когда конечная точка вызывает фиктивный клиент.
feign.FeignException: status 401 reading FacilityViewClient#getFacilities(Map,String,String)\r\n\tat feign.FeignException.errorStatus(FeignException.java:78)
Вот как я реализовал фиктивный клиент с параметрами заголовка:
@GetMapping(path = "/schedule-svc/api/v1/facilities")
FacilitiesViewResponse getFacilities(@RequestHeader Map headers,
@RequestParam("facilityType") String facilityType,
@RequestParam("stateProvinceCode") String stateProvinceCode);
Это вызов с использованием ложного клиента:
Map<String, Object> headerMap = new HashMap<>();
headerMap.put("apikey", "xxxxxxx" );
headerMap.put("SERVICE-NAME", "Location");
FacilitiesViewResponse facilitiesViewResponse = facilityViewClient.getFacilities( headerMap,"RALYD", "PA");
Я также пытался использовать отдельные строковые параметры @RequestHeader и получил ту же ошибку. Как это:
@RequestHeader("apikey") String apiKey
@RequestHeader("SERVICE-NAME") String serviceName
Возникает та же ошибка.
Я могу обратиться к сервису с помощью Postman, и информация в заголовке выглядит так:
Существуют ли другие свойства, которые необходимо определить в ложном клиенте, чтобы успешно установить параметры заголовка?