一、首先贴一段错误信息
feign.codec.DecodeException: Type definition error: [simple type, class com.xuecheng.framework.domain.cms.response.CmsPageResult]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.xuecheng.framework.domain.cms.response.CmsPageResult` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
at [Source: (PushbackInputStream); line: 1, column: 2]
二、看我的feign 接口
@FeignClient(value = "XC-SERVICE-MANAGE-CMS")
public interface CmsPageClient {
//保存
@PostMapping("/cms/page/save")
public CmsPageResult save(@RequestBody CmsPage cmsPage);
}
三、返回对象
@Data
public class CmsPageResult extends ResponseResult {
//模型对象 操作是
CmsPage cmsPage;
public CmsPageResult(ResultCode resultCode,CmsPage cmsPage) {
super(resultCode);
this.cmsPage = cmsPage;
}
}
四、有此看出,我上面的是返回模型是没有无参构造方法的返回,那么我们填上无参构造的注解,就不报异常了
@Data
@NoArgsConstructor //无参的构造方法
public class CmsPageResult extends ResponseResult {
//cms 操作是
CmsPage cmsPage;
public CmsPageResult(ResultCode resultCode,CmsPage cmsPage) {
super(resultCode);
this.cmsPage = cmsPage;
}
}
五、总结
首先我们来了解一下Fegin
Feign是Netflix公司开源的轻量级rest客户端,使用Feign可以非常方便的实现Http 客户端。Spring Cloud引入
Feign并且集成了Ribbon实现客户端负载均衡调用(Ribbon是Netflix公司开源的一个负载均衡的项目(https://github.com/Netflix/ribbon),它是一个基于 HTTP、
TCP的客户端负载均衡器)