Cannot construct instance of `com.baomidou.mybatisplus.core.metadata.IPage
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相关推荐
- Cannot construct instance of `com.baomidou.mybatisplus.core.metadata.IPage` (no Creators, like defau
因为com.baomidou.mybatisplus.core.metadata.IPage是一个接口,所以不能构建实例. 出现错误如下: feign.FeignException$ServiceUn ...
- Cannot construct instance of `com.baomidou.mybatisplus.core.metadata.IPage`
具体什么情况没有细究,直接把Feign调用的参数类型直接去掉,去掉返回体就行了,即R. 网上大部分说IPage转Page,可行:但我的不行,返回体 R<Page>, 造成以上问题是由于返回 ...
- MyBatis-Plus分页插件使用避坑:cannot be cast to com.baomidou.mybatisplus.core.metadata.IPage
1.bug背景 1.1.Spring配置文件 <!--配置数据源--><bean id="dataSource" class="com.alibaba. ...
- cannot be cast to com.baomidou.mybatisplus.core.metadata.IPage
cannot be cast to com.baomidou.mybatisplus.core.metadata.IPage 一个细节又无语的BUG IPage对象必须放在第一个参数的位置上,不然就报 ...
- 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 ...
- mysql plus baomidou_com.baomidou.mybatisplus.core.mapper 不存在
直接先说解决方案 不要使用3.3.1.tmp这个版本的,提示com.baomidou.mybatisplus.core.mapper 不存在,换成3.3.1就好了,已经得到官方回复,说是3.3.1.t ...
- 关于后台报错: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 ...
- com.baomidou.mybatisplus.core.exceptions.MyBatisPlusException: java.net.UnknownHostException
这个问题,后面跟的是服务器的hostname, name not resolve 是因为无法解析服务器的hostname导致的报错,服务器上vim /etc/hosts增加hostname解析之后,重 ...
- 【springboot+mybatis-plus】使用IPage进行分页查询,返回全部数据
这里写自定义目录标题 DeBug 一.出现情况 二.项目架构 2-1.Dao层 2-2.service层 2-2-1.service接口 2-2-2.serviceImpl 实现类 2-2-3.con ...
最新文章
- 学C/C++不能不知道的硬知识
- python文件合法模式组合_以下选项中,不是Python文件二进制打开模式的合法组合是...
- Tiktok代运营才是跨境卖家的未来?别再错过这个风口了!
- C++11 变参模板
- IT草根的江湖之路之五:鉴于现实,屈服!
- 互联网运营数据分析(1):流量分析
- EAR、JAR、WAR(IT)
- 大规模Web服务开发技术
- 智能家居形态逐步演进 机会与挑战并存
- 易语言单窗口单ip软件源码_梦幻西游怎样多开ip转金?老玩家的十大转金秘籍奉上...
- 一个程序的自我修养「GitHub 热点速览 v.22.19」
- pb9连接mysql
- 简道云、氚云、明道云们更讨中小企业欢心?
- 中国实业能成为怎样的互联网公司
- c# .net Paypal支付Webhooks回调验证
- irr java_java-irr: java版的IRR和XIRR,通过牛顿算法实现内部收益率的计算
- 表扩展字段2种实施方案研究
- 批处理学习(一)——MS-DOS命令
- 京东微信、手机QQ引领社交化购物趋势
- 蓝牙耳机什么样式最舒服?推荐一款好用的蓝牙耳机
热门文章
- Xcode 使用 code snippets (代码块)Xcode 11以上
- 香港城大:首创3D打印磁控微型机器人技术,推动人体送药研究发展
- 使用vs2015打开以前版本的.sln工程不兼容的问题
- 电脑老是出现无法登陆的界面,怎么解决
- 全新 Amazon RDS for MySQL 和 PostgreSQL 多可用区 (Multi-AZ) 部署选项
- php地区代码吗,将国家/地区名称转换为国家/地区代码缩写php
- Q/GDW 376.2集中器本地通信模块接口协议测试方法
- myeclipse怎样设置字体大小
- 2022年9月青少年C/C++软件编程(四级)等级考试试卷及答案解析
- SDUST 第二次实验