关于OpenFeign报404错误:status 404 reading xxx

今天遇到了题目这个错误,但是服务提供方自测是可以通过的,看了一会发现是接口定义与服务提供方Controller中的不一致,导致找不到服务

这里是Feign接口的代码

@FeignClient(value = "CLOUD-PAYMENT-SERVICE")
public interface PaymentFeignService {
    
    // 第一次把@PathVariable写成了@Param,导致报错404
    @GetMapping(value = "/payment/get/{id}")
    CommonResult<Payment> getPaymentByID(@PathVariable("id") Long id);
}

这里是服务提供者的Controller代码(注意,是服务提供者,不是消费者)*

@GetMapping(value = "/payment/get/{id}")
    public CommonResult create(@PathVariable("id")Long id){
        Payment payment= paymentService.getPaymentByID(id);
		…… ……
        }
    }

所以说,如果报错404,就是Feign找不到与之匹配的服务提供者,那么就要在这上面多留意下了,不管是GetMapping的值还是@FeginCilent的值,都要核查一下

你可能感兴趣的:(出错解决)