zoukankan      html  css  js  c++  java
  • (黑马十次方项目day07)再次遇到FeignException$NotFound: status 404 reading xxx 问题

    本次错误纯粹是路径拼写的一个小错误,结果搞了一上午,最后解决问题气到吐血。

    其中找了很多资料,汇总一下其他问题的解决方法:

    1、首先是之前一次的问题,url默认找的是服务端,在@FeignClient上加入url指向本地启动的服务提供方

    2、调用feign超时,可以在配置文件加上

    feign:
      httpclient:
        connection-timeout: 30000

    3、因为feign提供者在配置文件中增加了  context-path: /xxxx  ,把它删掉

    4、参数问题

    5、路径问题,容易忽略的是被调用的服务中写了全局 @RequestMapping,调用的时候路径忘写了。

    另外引用一下,Feign注意事项:https://my.oschina.net/u/3245438/blog/3073514

    1. @EnableFeignClients 默认扫描 xxxxApplication启动入口 所在包路径下的 @FeignClient bean,若无法扫描到, 可以在使用Feign调用外部模块的api时候,需要在引用服务中 xxxxApplication 中的 
      `@EnableFeignClients(basePackages = "cn.tendyron.customer")` 添加外部包需要扫描FeignClient的路径,否则无法注入bean 2. @FeignClient 声明的类,使用 spring.application.name 作为 name配置 @FeignClient(name="xxxx"),如果想保留 context-path , 则需要配置 path 属性 ,
      如:@FeignClient(name="xxxx" , path="xxxx(context-path)") 3. @FeignClient 接口对应的实现类,需要使用 @RestController注解 声明 4. mapper注解不支持 : @GetMapping,@PostMapping , 参数要加 @RequestParam(“xxx”) 5. FeignClient 调用,实质是httpClient调用 ,若我们暴露的接口api,声明了对应的 http mapper 信息,在调用方调用时候,通过代理 发起了 http请求,到服务提供方对应的http服务上去,所以在服务提供方的接口,
      可以使用 @RestController来声明接口的 实现,否则调用方无法找到 http 对应的路径,会报404 ; 或者 根据 api 声明的http 信息,构建一个 Controller ,再来调用接口的实现类,但是这样不太方便;

      

  • 相关阅读:
    RobotFrameWork-Python简易环境搭建
    Oracle常用函数
    Oracle多表连接查询Join
    测试用例的常用设计方法
    App自动化测试之Monkey使用场景及常用命令
    App自动化测试之Adb基础命令使用
    App弱网测试
    前端基础(二)
    py自动化框架(二)
    html基础js
  • 原文地址:https://www.cnblogs.com/beiweixiaohuo/p/12960805.html
Copyright © 2011-2022 走看看