异常记录之feign.FeignException$NotFound: status 404 reading DeptClientService#getAll()

项目场景:

在微服务中,使用feign出现如下异常异常:

`feign.FeignException$NotFound: status 404 reading DeptClientService#getAll()`

问题描述:

在使用feign实现负载时,访问页面总是出现
在这里插入图片描述
启动类和接口的注解都是用正确,如下图:
在这里插入图片描述
在这里插入图片描述

解决方案:

问题主要出现在接口中的路径和提供者的路径不一致导致的
接口中:

@FeignClient(value = "SPRINGCLOUD-PROVIDER-DEPT")
public interface DeptClientService {


    @GetMapping("/get/{id}")
    public Dept get(@PathVariable("id") Integer id);

    @GetMapping("/dept/get/all")
    public List<Dept> getAll();

}

提供者中:

@RestController
@RequestMapping("/dept")
public class DeptController {

    @Autowired
    private DeptService deptService;

    @PostMapping("/add")
    public boolean addDept(Dept dept) {
        return deptService.addDept(dept);
    }

    @GetMapping("/selectOne/{id}")
    @HystrixCommand(fallbackMethod = "HystrixGet")
    public Dept get(@PathVariable("id") Integer id) {
        Dept dept = deptService.queryById(id);
        if (dept == null) {
            throw new RuntimeException("id=>"+id+",不存在该用户");
        }
        return dept;
    }

    //备选方案
    public Dept HystrixGet(@PathVariable("id") Integer id) {
        return new Dept()
                .setDeptid(id)
                .setDepname("id=>"+id+",不存在该用户,null----HystrixGet")
                .setDbSource("数据库中没有该信息");

    }

    @GetMapping("/selectAll")
    public List<Dept> getAll(){
        return deptService.queryAll();
    }

}

解决方案:将两者的路径修改一致即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

王野也不野

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

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

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

打赏作者

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

抵扣说明:

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

余额充值