记录学习FeignClien遇到的坑

1.报错404路径错误

第一次测试调用报错404.
在这里插入图片描述
postman调用测试环境是没问题的.
在这里插入图片描述
代码如下:
master-data-main是nacos微服务服务列表的服务名.也是调用的测试环境.
在这里插入图片描述
经过对比发现,path少了一个master-data,加上master-data就解决了.


2.调用成功后返回数据为null.

启动本地服务,调用测试环境的测试接口.
controller.
在这里插入图片描述
在这里插入图片描述
调用服务.
在这里插入图片描述
调用结果和预期的不符合.
在这里插入图片描述
服务方接口.
在这里插入图片描述
经过排查发现,调用的服务返回的一个Resultsjson格式的数据.我用对象去接收是不会映射值的.

feign接口改成.
在这里插入图片描述

调用结果:
在这里插入图片描述


3.Feign返回的JSON对象转化为所需要的实体:

// json ,调用返回的数据.
JSONObject json = testFeign.result(consultantCode);
 //将json转成需要的对象,data为实体需要的数据
ConsultantDTO  consultantDTO =  this.convertValue(json.get("data"),ConsultantDTO.class);

 /** convertValue方法
  * @param bean  object对象
  * @param clazz  要转的class类
  * @param <T>第一个T声明这个方法是个泛型方法,第二个T是表示这个方法的返回类型.
  * @return  返回具体的实体对象.
*/
public static <T> T convertValue(Object bean, Class<T> clazz){
    try{
       ObjectMapper mapper = new ObjectMapper();
        return mapper.convertValue(bean, clazz);
     }catch(Exception e){
        e.printStackTrace();
        return null;
     }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值