首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >feign.FeignException:使用feign客户端的REST API尝试连接时出现状态401错误

feign.FeignException:使用feign客户端的REST API尝试连接时出现状态401错误
EN

Stack Overflow用户
提问于 2020-06-19 10:22:27
回答 1查看 4.3K关注 0票数 1

我有一个用Java编写的Spring Boot REST API。我正在使用一个假客户端连接到另一个REST API。端点使用标头参数apikey和serviceName。当端点调用feign客户端时,我收到此错误。

代码语言:javascript
复制
feign.FeignException: status 401 reading FacilityViewClient#getFacilities(Map,String,String)\r\n\tat feign.FeignException.errorStatus(FeignException.java:78)

这就是我如何使用header参数实现feign客户端:

代码语言:javascript
复制
@GetMapping(path = "/schedule-svc/api/v1/facilities")
    FacilitiesViewResponse getFacilities(@RequestHeader Map headers,
                                         @RequestParam("facilityType") String facilityType,
                                         @RequestParam("stateProvinceCode") String stateProvinceCode);

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

代码语言:javascript
复制
Map<String, Object> headerMap = new HashMap<>();
 headerMap.put("apikey", "xxxxxxx" );
 headerMap.put("SERVICE-NAME", "Location");

 FacilitiesViewResponse facilitiesViewResponse = facilityViewClient.getFacilities( headerMap,"RALYD", "PA");

我还尝试使用单独的@RequestHeader字符串参数,但得到了相同的错误。如下所示:

代码语言:javascript
复制
@RequestHeader("apikey") String apiKey
@RequestHeader("SERVICE-NAME") String serviceName

出现相同的错误。

我可以使用Postman访问服务,标题信息如下所示:

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

EN

回答 1

Stack Overflow用户

发布于 2020-06-25 20:26:02

我们解决了这个问题。FeignClient上的url和路径错误。这个错误误导我们认为它是一个未经授权的错误,而实际上它是一个404错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62462301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档