Java 分页的内容返回空
使用PagingAndSortingRepository,内容返回时带有{}和页面url参数中正确数量的内容。示例:我的表有20行,url中的put?page=0&size=10。当在邮递员中返回时,键内容返回Java 分页的内容返回空,java,rest,spring-boot,Java,Rest,Spring Boot,使用PagingAndSortingRepository,内容返回时带有{}和页面url参数中正确数量的内容。示例:我的表有20行,url中的put?page=0&size=10。当在邮递员中返回时,键内容返回 "content": [ {}, {}, {}, {}, {}, {}, {}, {}, {}, {} ] 调
"content": [
{},
{},
{},
{},
{},
{},
{},
{},
{},
{}
]
调试请求并返回具有值的请求。但这并没有表现出来。不知道为什么
我的存储库
public interface LocalUtilRepository extends PagingAndSortingRepository<LocalUtilModel, Integer> {
Page<LocalUtilModel> findAll(Pageable pageable);
}
我的模型
@Entity(name = "EXPLOCALUTIL")
public class LocalUtilModel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@NotNull
@Size(min = 5, max = 255)
@Column(name = "DESCLOCALUTIL")
private String descLocalUtil;
@Column(name = "COORD")
private String coordenada;
private String referencia;
@NotNull
@Column(name = "IDEXPFEIRA")
private Integer idExpFeira;
}
根据您的JSON响应,它显示为类似于
“offset”:0
尝试在存储库可分页参数中传递此参数
PageRequest.of(0,10)
这里0是页码,10是偏移量
公式定义:
int start = pageNumber * offset + 1;
int end = start+offset.
所以在我们的场景中,开始是1,结束是10。
这将获得前10名的回报
ResponseEntity.ok().body(localUtilRepository.findAll(PageRequest.of(0,10))
只需在第一个参数中传递页面,在第二个参数中传递大小。我必须在模型类中使用
@Data
进行注释,因为我使用的是lombok
数据即将到来,但它是空的。尝试调试一点。我完成了。但是,在调试中,ResponseEntity.ok().body(localUtilRepository.findAll(pageable))具有内容中的值。ResponseEntity.ok().body(localUtilRepository.findAll(可分页))
是returnig数据,然后在解析它时出现问题。你是在使用Postman还是浏览器来达到rest端点?我在使用Postman。我读过关于Jackson的文章,可能是它。但是spring在这个版本中有所有Jackson的实现。我尝试过使用注释@JsonIdentityInfo。但仍然不起作用。它看起来像你的LocalUtilModel
类未正确序列化。请发布该类的代码和序列化配置。正如他在上面所评论的,他是通过服务调用获取数据的。该JSON中未显示Localutil模型数据。
@Entity(name = "EXPLOCALUTIL")
public class LocalUtilModel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@NotNull
@Size(min = 5, max = 255)
@Column(name = "DESCLOCALUTIL")
private String descLocalUtil;
@Column(name = "COORD")
private String coordenada;
private String referencia;
@NotNull
@Column(name = "IDEXPFEIRA")
private Integer idExpFeira;
}
int start = pageNumber * offset + 1;
int end = start+offset.