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;
}
}