Feign调用无法解析 IPage包裹的数据,目前解决方案有两种,一种是转Page,另一种是序列化。

一、转Page传递

// api接口
@PostMapping(value = "/queryEnterprise")
public Result<Page<StudentEnterprise>> queryEnterprise(@RequestBody StuEnterPriseQo qoo) {StudentEnterprise qo = new StudentEnterprise().setDeleted(0);if(Objects.nonNull(qoo.getName())){qo.setName(qoo.getName());}QueryWrapper<StudentEnterprise> queryWrapper = QueryGenerator.initQueryWrapper(qo, null);Page<StudentEnterprise> page = new Page<>(qoo.getPageNo(), qoo.getPageSize());Page<StudentEnterprise> pageList = studentEnterpriseService.page(page, queryWrapper);return Result.OK(pageList);
}
//feign调用
@PostMapping("/studentEnterprise/queryEnterprise")
@ApiOperation(value = "企业信息列表", notes = "企业信息列表")
JsonResult<Page<StudentEnterpriseVo>> queryEnterprise(@RequestBody StuEnterPriseQo qo);

二、序列化,在config文件夹添加如下代码。

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.deser.std.StdDeserializer;import java.io.IOException;public class IPageDeserializer extends StdDeserializer<IPage> {protected IPageDeserializer(Class<?> vc) {super(vc);}@Overridepublic IPage deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {JsonNode node = p.getCodec().readTree(p);String s  = node.toString();ObjectMapper om = new ObjectMapper();Page page = om.readValue(s,Page.class);return page;}
}
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.module.SimpleModule;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;import java.util.Arrays;
import java.util.List;@Configuration
public class WebDataConvertConfig extends WebMvcConfigurationSupport {@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters) {converters.add(mappingJackson2HttpMessageConverter());super.configureMessageConverters(converters);}@Beanpublic MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter() {MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();ObjectMapper mapper = new ObjectMapper();mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);SimpleModule module = new SimpleModule();module.addDeserializer(IPage.class, new IPageDeserializer(IPage.class));mapper.registerModule(module);converter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON, MediaType.APPLICATION_JSON_UTF8, MediaType.APPLICATION_OCTET_STREAM));converter.setObjectMapper(mapper);return converter;}}

Cannot construct instance of `com.baomidou.mybatisplus.core.metadata.IPage相关推荐

  1. Cannot construct instance of `com.baomidou.mybatisplus.core.metadata.IPage` (no Creators, like defau

    因为com.baomidou.mybatisplus.core.metadata.IPage是一个接口,所以不能构建实例. 出现错误如下: feign.FeignException$ServiceUn ...

  2. Cannot construct instance of `com.baomidou.mybatisplus.core.metadata.IPage`

    具体什么情况没有细究,直接把Feign调用的参数类型直接去掉,去掉返回体就行了,即R. 网上大部分说IPage转Page,可行:但我的不行,返回体 R<Page>, 造成以上问题是由于返回 ...

  3. MyBatis-Plus分页插件使用避坑:cannot be cast to com.baomidou.mybatisplus.core.metadata.IPage

    1.bug背景 1.1.Spring配置文件 <!--配置数据源--><bean id="dataSource" class="com.alibaba. ...

  4. cannot be cast to com.baomidou.mybatisplus.core.metadata.IPage

    cannot be cast to com.baomidou.mybatisplus.core.metadata.IPage 一个细节又无语的BUG IPage对象必须放在第一个参数的位置上,不然就报 ...

  5. Dubbo项目消费者调用提供者报cannot be cast to com.baomidou.mybatisplus.core.metadata.IPage

    Dubbo项目消费者调用提供者控制台报 cannot be cast to com.baomidou.mybatisplus.core.metadata.IPage 异常: cannot be cas ...

  6. mysql plus baomidou_com.baomidou.mybatisplus.core.mapper 不存在

    直接先说解决方案 不要使用3.3.1.tmp这个版本的,提示com.baomidou.mybatisplus.core.mapper 不存在,换成3.3.1就好了,已经得到官方回复,说是3.3.1.t ...

  7. 关于后台报错:no getter for property named ‘ew‘ in ‘class com.baomidou.mybatisplus.core.conditions.query.xx

    已解决 关于后台报错:no getter for property named 'ew' in 'class com.baomidou.mybatisplus.core.conditions.quer ...

  8. com.baomidou.mybatisplus.core.exceptions.MyBatisPlusException: java.net.UnknownHostException

    这个问题,后面跟的是服务器的hostname, name not resolve 是因为无法解析服务器的hostname导致的报错,服务器上vim /etc/hosts增加hostname解析之后,重 ...

  9. 【springboot+mybatis-plus】使用IPage进行分页查询,返回全部数据

    这里写自定义目录标题 DeBug 一.出现情况 二.项目架构 2-1.Dao层 2-2.service层 2-2-1.service接口 2-2-2.serviceImpl 实现类 2-2-3.con ...

最新文章

  1. 学C/C++不能不知道的硬知识
  2. python文件合法模式组合_以下选项中,不是Python文件二进制打开模式的合法组合是...
  3. Tiktok代运营才是跨境卖家的未来?别再错过这个风口了!
  4. C++11 变参模板
  5. IT草根的江湖之路之五:鉴于现实,屈服!
  6. 互联网运营数据分析(1):流量分析
  7. EAR、JAR、WAR(IT)
  8. 大规模Web服务开发技术
  9. 智能家居形态逐步演进 机会与挑战并存
  10. 易语言单窗口单ip软件源码_梦幻西游怎样多开ip转金?老玩家的十大转金秘籍奉上...
  11. 一个程序的自我修养「GitHub 热点速览 v.22.19」
  12. pb9连接mysql
  13. 简道云、氚云、明道云们更讨中小企业欢心?
  14. 中国实业能成为怎样的互联网公司
  15. c# .net Paypal支付Webhooks回调验证
  16. irr java_java-irr: java版的IRR和XIRR,通过牛顿算法实现内部收益率的计算
  17. 表扩展字段2种实施方案研究
  18. 批处理学习(一)——MS-DOS命令
  19. 京东微信、手机QQ引领社交化购物趋势
  20. 蓝牙耳机什么样式最舒服?推荐一款好用的蓝牙耳机

热门文章

  1. Xcode 使用 code snippets (代码块)Xcode 11以上
  2. 香港城大:首创3D打印磁控微型机器人技术,推动人体送药研究发展
  3. 使用vs2015打开以前版本的.sln工程不兼容的问题
  4. 电脑老是出现无法登陆的界面,怎么解决
  5. 全新 Amazon RDS for MySQL 和 PostgreSQL 多可用区 (Multi-AZ) 部署选项
  6. php地区代码吗,将国家/地区名称转换为国家/地区代码缩写php
  7. Q/GDW 376.2集中器本地通信模块接口协议测试方法
  8. myeclipse怎样设置字体大小
  9. 2022年9月青少年C/C++软件编程(四级)等级考试试卷及答案解析
  10. SDUST 第二次实验