feign.FeignException: status 404 reading GoodsServiceClient#goodsInfo(String)

博客指出消费者调用服务提供者时,可能出现路径错误或参数缺失的问题,这属于信息技术中后端服务调用的常见情况。

有可能是 ‘消费者’ 调用 ‘服务提供者’ 的时候路径错误或者参数少了

当出现 `feign.FeignException: status 400 reading OrganizationProvider#listByLikeNameOrUserIds(String,List)` 错误时,可参考以下可能的解决方法: 1. **确保请求注解和参数声明正确**:参考 `feign.FeignException: status 400` 的解决思路,要保证 `@RequestMapping` 注解中的 `method` 属性正确声明,同时方法参数使用 `@RequestParam` 进行声明。例如: ```java @RequestMapping(value = "listByLikeNameOrUserIds", method = RequestMethod.GET) public ResponseEntity<List<SomeType>> listByLikeNameOrUserIds(@RequestParam(value = "name") String name, @RequestParam(value = "userIds") List<Long> userIds) { // 方法实现 } ``` 2. **检查 Feign 客户端配置**:在启动类开启 `@EnableFeignClients` 注解,并将 `basePackages` 属性指向 Feign 客户端的包路径。同时,在 Feign 服务器提供方开启 `@FeignClient` 注解,声明其为 Feign 远程服务提供方,保证声明式方法中的请求注解在对应的 `Controller` 注解中有对应的方法,避免出现 404 类似的请求匹配问题 [^1]。 3. **检查请求参数传递**:确认调用 `listByLikeNameOrUserIds` 方法时传递的参数类型和数量与服务端方法定义一致。如果参数类型不匹配或缺失参数,可能会导致 400 错误。 4. **检查 Feign 构造请求的注解**:确保在 Feign 客户端的方法定义中使用了正确的注解(如 `@RequestMapping`、`@RequestParam`、`@PathVariable` 或 `@RequestHeader` 等)来构造 HTTP 请求。若缺少相关注解,OpenFeign 在构造请求时可能会报错 [^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云下的你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值