feign.FeignException: 当使用 feign 客户端的 REST API 尝试连接时,状态 401 错误。

问题描述 投票:0回答:0

我有一个用Java编写的Spring Boot REST API。 我使用一个Feign客户端连接到另一个REST API。 端点使用头参数,apikey和serviceName.当端点调用Feign客户端时,我得到了这个错误。

feign.FeignException: status 401 reading FacilityViewClient#getFacilities(Map,String,String)\r\n\tat feign.FeignException.errorStatus(FeignException.java:78)

这就是我如何用头参数实现Feign客户端。

@GetMapping(path = "/schedule-svc/api/v1/facilities")
    FacilitiesViewResponse getFacilities(@RequestHeader Map headers,
                                         @RequestParam("facilityType") String facilityType,
                                         @RequestParam("stateProvinceCode") String stateProvinceCode);

这是使用 feign 客户端的调用。

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打服务,头信息是这样的。enter image description here

是否有其他属性需要在佯装客户端中定义才能成功设置头参数?

java rest spring-cloud-feign
© www.soinside.com 2019 - 2024. All rights reserved.