我使用带有依赖项的xml配置的spring mvc:
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-asl</artifactId>
<version>1.9.12</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>1.9.12</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-core-asl</artifactId>
<version>1.9.12</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.4</version>
</dependency>
转换为JSON。但是对于Spring数据JPA Page,结果为空:
{}
。带有存储库:
@Repository("personRepository")
public interface PersonRepository extends CrudRepository<Person, Long> {
Page<Person> findAll(Pageable pageable);
}
和控制器:
@RestController
public class ApiController {
@Autowired
PersonService personService;
@GetMapping(value = {"/api/person/getpage"}, produces = {"application/json"})
public Page<Person> getPerson() {
return personService.findAll(new PageRequest(0, 10));
}
}
任何人都可以告诉我如何将正确的数据恢复为以下格式:
{ "totalPages":501,
"totalElements":5001,
"size":10,
"content":[{"id":1,"firstName":"Joe","lastName":"Doe"},
{"id":2,"firstName":"Mich","lastName":"Jogger"},
{"id":3,"firstName":"Santa","lastName":"Close"}, ...],
"number":0,
"numberOfElements":10,
"sort":null,
"last":false,
"first":true}
我
答案 0 :(得分:0)
您必须在控制器中将返回类型更改为List<Person>
。我可以看到db中有5001条记录。样本控制器代码,
@GetMapping(value = {"/api/person/getpage"}, produces = {"application/json"})
public List<Person> getPerson() {
Page<Person> pagePersonList = personService.findAll(new PageRequest(0, 10));
List<Person> personList = pagePersonList.getContent();
return personList;
}
让我知道是否有任何问题或疑问。