feign使用,报错404

开始采坑

   第一: 检查服务提供方是否启动。

   第二:检查注解 @FeignClient 中的值是否配置正确

                name/value:指定FeignClient的名称,如果项目使用了Ribbon,name属性会作为微服务的名称,用于服务发现

                path:定义当前FeignClient的统一前缀

                url:url一般用于调试,可以手动指定@FeignClient调用的地址

                decode404:当发生http 404错误时,如果该字段位true,会调用decoder进行解码,否则抛出FeignException

                configuration:Feign配置类,可以自定义Feign的Encoder、Decoder、LogLevel、Contract

                fallback:定义容错的处理类,当调用远程接口失败或超时时,会调用对应接口的容错逻辑,fallback指定的类必须实现 @FeignClient标记的接口

                fallbackFactory:工厂类,用于生成fallback类示例,通过这个属性我们可以实现每个接口通用的容错逻辑,减少重复的代码

首先必须配置@FeignClient 的name 属性,feign通过这个名称去匹配调用方具体的服务

另外,如果提供方的服务如果指定了server.servlet.context-path,那么一定要在path中配置前缀(就是context-path的值)

再不行,就直接配置url地址调试一下看是否能通

 

配置示例:

/**
 * @ClassName: xxxServerxxxModleFeign 
 * @Description: xxx接口
 * @Author Gavino
 * @Date 2020-10-19 14:03
 */
@FeignClient(name = "xxxServer", path = "/xxxServer/xxxModle") //xxxServer: 服务名称,/xxxServer/xxxModle:xxxServer是context-path的名称,xxxModle是某个模块名称
public interface xxxServerxxxModleFeign {

    @RequestMapping(value = "/select", method = RequestMethod.POST) //select是具体Controller方法上的地址
    ActionResult select(@RequestBody JSONObject param);

    @RequestMapping(value = "/queryPageListByWhere", method = RequestMethod.POST)
    ActionResult queryPageListByWhere(@RequestBody JSONObject param);

    @RequestMapping(value = "/selectAll", method = RequestMethod.POST)
    ActionResult selectAll();
}

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Gavino.

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

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

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

打赏作者

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

抵扣说明:

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

余额充值