JSON parse error: Can not construct instance of org.springframework.data.domain.Page:

末蓝、 2022-05-15 06:56 1432阅读 0赞

org.springframework.data.domain.Page:转换异常报错,解决方法,缺少实现类

  1. JSON parse error: Can not construct instance of org.springframework.data.domain.Page:
  2. abstract types either need to be mapped to concrete types, have custom deserializer, or
  3. contain additional type information; nested exception is
  4. com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of
  5. org.springframework.data.domain.Page: abstract types either need to be mapped to
  6. concrete types, have custom deserializer, or contain additional type information at
  7. [Source: java.io.PushbackInputStream@c793cf1; line: 1, column: 1]
  8. package com.lenovo.chinaservice.pscm.iwm.utils;
  9. import org.springframework.core.convert.converter.Converter;
  10. import org.springframework.data.domain.Page;
  11. import org.springframework.data.domain.PageImpl;
  12. import org.springframework.data.domain.Pageable;
  13. import org.springframework.data.domain.Sort;
  14. import java.util.ArrayList;
  15. import java.util.Iterator;
  16. import java.util.List;
  17. public class RestPage<T> implements Page<T> {
  18. private PageImpl<T> pageDelegate = new PageImpl<>(new ArrayList<>(0));
  19. @Override
  20. public List<T> getContent() {
  21. return pageDelegate.getContent();
  22. }
  23. @Override
  24. public int getNumber() {
  25. return pageDelegate.getNumber();
  26. }
  27. @Override
  28. public int getNumberOfElements() {
  29. return pageDelegate.getNumberOfElements();
  30. }
  31. @Override
  32. public int getSize() {
  33. return pageDelegate.getSize();
  34. }
  35. @Override
  36. public Sort getSort() {
  37. return pageDelegate.getSort();
  38. }
  39. @Override
  40. public long getTotalElements() {
  41. return pageDelegate.getTotalElements();
  42. }
  43. @Override
  44. public int getTotalPages() {
  45. return pageDelegate.getTotalPages();
  46. }
  47. @Override
  48. public boolean hasContent() {
  49. return pageDelegate.hasContent();
  50. }
  51. @Override
  52. public boolean hasNext() {
  53. return pageDelegate.hasNext();
  54. }
  55. @Override
  56. public boolean hasPrevious() {
  57. return pageDelegate.hasPrevious();
  58. }
  59. @Override
  60. public boolean isFirst() {
  61. return pageDelegate.isFirst();
  62. }
  63. @Override
  64. public boolean isLast() {
  65. return pageDelegate.isLast();
  66. }
  67. @Override
  68. public Iterator<T> iterator() {
  69. return pageDelegate.iterator();
  70. }
  71. @Override
  72. public <S> Page<S> map(Converter<? super T, ? extends S> converter) {
  73. return pageDelegate.map(converter);
  74. }
  75. @Override
  76. public Pageable nextPageable() {
  77. return pageDelegate.nextPageable();
  78. }
  79. @Override
  80. public Pageable previousPageable() {
  81. return pageDelegate.previousPageable();
  82. }
  83. public void setContent(List<T> content) {
  84. pageDelegate = new PageImpl<>(content, null, getTotalElements());
  85. }
  86. public void setTotalElements(int totalElements) {
  87. pageDelegate = new PageImpl<>(getContent(), null, totalElements);
  88. }
  89. @Override
  90. public String toString() {
  91. return pageDelegate.toString();
  92. }
  93. }

发表评论

表情:
评论列表 (有 0 条评论,1432人围观)

还没有评论,来说两句吧...

相关阅读