记一次扯dan的错误feign.FeignException$NotFound: status 404 reading UserFeign#findByPage()

发布时间 2023-07-08 10:56:37作者: 有点儿意思

feign.FeignException$NotFound: status 404 reading UserFeign#findByPage()
at feign.FeignException.clientErrorStatus(FeignException.java:165) ~[feign-core-10.4.0.jar:na]
at feign.FeignException.errorStatus(FeignException.java:141) ~[feign-core-10.4.0.jar:na]
at feign.FeignException.errorStatus(FeignException.java:133) ~[feign-core-10.4.0.jar:na]
at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:92) ~[feign-core-10.4.0.jar:na]
at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:151) ~[feign-core-10.4.0.jar:na]
at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:80) ~[feign-core-10.4.0.jar:na]
at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:103) ~[feign-core-10.4.0.jar:na]
at com.sun.proxy.$Proxy76.findByPage(Unknown Source) ~[na:na]
at cn.yh.controller.TestController.findByPage(TestController.java:25) ~[classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_301]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_301]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_301]
at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_301]
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)

这个错误呢就是上面的这个使用Nacos注册中心,并且使用Feign调用服务的了。需要实现的就是用MP分页查询,再提供一个消费者调用它就行了。

服务提供方的controller层
@RestController
@RequestMapping("/user")
public class UserController {   
@GetMapping("/findByPage")
    public List<User> findByPage(){
        return userService.findByPage();
    }
}
服务提供方的feign客户端
@FeignClient("provider")
public interface UserFeignClient {
    @GetMapping("/user/findByPage")
    List<User> findByPage();
}
服务调用方的 controller
@RestController
@RequestMapping("/consumer")
public class UserController {

    @Autowired
    private UserFeignClient feignClient;

    @GetMapping("/find")
    public List<User> findByPage(){
        List<User> userList = feignClient.findByPage();
        userList.forEach(System.out::println);
        return userList;
    }
}

然后开启服务,nacos服务注册正常、依赖添加正常、注解添加正常....5、4、3、2、1发射,giao,发射失败,各部注意,发射失败,错误已提交,然后排查,自己没排出来,还请教了别人,结果大佬也没排出来,中间debug的过程就不展示了。。。。

最后,由我自己展开地毯式搜索,md,feign客户端的@FeignClient("provider")注解,名称写错了,真是扯着dan了,因为我们要调provider的服务么,所以这个注解的名称自然也是provider了,我写的是consumer调用方的了。真的是....大家警以为戒啊。