spring REST API Pageable 返回空对象

问题描述 投票:0回答:1

我知道,这个问题以前有人问过。

但我确实检查了一堆答案,但找不到任何具有相同上下文的内容来解决问题。

代码非常简单:

@GetMapping("")
@JsonView(Views.GetView.class)
public ResponseEntity<Page<User>> getUsers(
        @ParameterObject Pageable pageable) {

    System.out.println("pageable " + pageable); 
        //output pageable Page request [number: 0, size 20, sort: UNSORTED]

    Page<User>  allUsers = userRepository.findAll(pageable);

    System.out.println("page user content " + allUsers.getContent());
        //output page user content [User(id=2, name=Marshall, username=marshall44, [email protected], roles=[Role(name=ROLE_USER)])]

    PageImpl<User> pagei = new PageImpl<>(allUsers.getContent());

    System.out.println("page i " + pagei);
     //output  page i Page 1 of 1 containing com.serendipity.portfolio.entity.User instances

     // return ResponseEntity.ok().body(pagei);
         // this also returns {}

    return ResponseEntity.ok().body(allUsers);
}

我包含了每个中间变量的输出,以便更好地了解正在发生的事情。

来自 Swagger UI 的请求是

http://localhost:8080/api/v1/users?page=0&size=20

java spring-rest
1个回答
0
投票

问题在于

@JsonView
User
的所有属性不匹配。

将此添加到

application.properties
解决了问题:

spring.jackson.mapper.DEFAULT_VIEW_INCLUSION=true

© www.soinside.com 2019 - 2024. All rights reserved.