Kaynağa Gözat

解决 page 反序列化 pages 属性报错

miemie 6 yıl önce
ebeveyn
işleme
3d2220cbd5

+ 11 - 0
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/metadata/IPage.java

@@ -98,6 +98,17 @@ public interface IPage<T> extends Serializable {
         return pages;
     }
 
+    /**
+     * <p>
+     * 内部什么也不干
+     * 只是为了 json 反序列化时不报错
+     * </p>
+     */
+    default IPage<T> setPages(long pages) {
+        // to do nothing
+        return this;
+    }
+
     /**
      * <p>
      * 分页记录列表

+ 6 - 6
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/SqlTest.java → mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/SampleTest.java

@@ -1,21 +1,21 @@
 package com.baomidou.mybatisplus.test;
 
-import org.junit.Assert;
-import org.junit.Test;
-
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import org.junit.Assert;
+import org.junit.Test;
 
-public class SqlTest {
+public class SampleTest {
 
     private final ObjectMapper mapper = new ObjectMapper();
 
     @Test
     public void testPageJsonDecode() throws Exception {
-        String json = "{\"current\":2,\"size\":9,\"ascs\":[\"name\",\"age\",\"qiuqiu\"]}";
+        String json = "{\"current\":2,\"pages\":1222,\"total\":10,\"size\":5,\"ascs\":[\"name\",\"age\",\"qiuqiu\"]}";
         Page page = mapper.readValue(json, Page.class);
         Assert.assertEquals(2, page.getCurrent());
-        Assert.assertEquals(9, page.getSize());
+        Assert.assertEquals(5, page.getSize());
         Assert.assertEquals(3, page.ascs().length);
+        Assert.assertEquals(2, page.getPages());
     }
 }