Java 如何更改spring boot中Repository.findAll()生成的json数组的格式

Java 如何更改spring boot中Repository.findAll()生成的json数组的格式,java,arrays,json,list,spring-boot,Java,Arrays,Json,List,Spring Boot,我想将此json列表更改为另一种格式,方法是在列表前加上“data”一词,并将其包含在括号中,如我所写的示例中所示 我使用的rest控制器 @CrossOrigin(origins = "http://localhost:8080") @GetMapping("/users") public List<User> getAllUsers() { return userRepository.findAll(); } 我

我想将此json列表更改为另一种格式,方法是在列表前加上“data”一词,并将其包含在括号中,如我所写的示例中所示 我使用的rest控制器

   @CrossOrigin(origins = "http://localhost:8080")
  @GetMapping("/users")
  public List<User> getAllUsers() {
    return userRepository.findAll();
  }
我想这样做

    [
            {
                "id": 1,
                "firstName": "test",
                "lastName": "test",
                "email": "tt",
                "createdAt": null,
                "createdBy": "12",
                "updatedAt": null,
                "updatedBy": "12"
            },
            {
                "id": 2,
                "firstName": "test",
                "lastName": "test",
                "email": "tt",
                "createdAt": null,
                "createdBy": "12",
                "updatedAt": null,
                "updatedBy": "12"
            }
        ]
{
    "data": [
        {
            "id": 1,
            "firstName": "test",
            "lastName": "test",
            "email": "tt",
            "createdAt": null,
            "createdBy": "12",
            "updatedAt": null,
            "updatedBy": "12"
        },
        {
            "id": 2,
            "firstName": "test",
            "lastName": "test",
            "email": "tt",
            "createdAt": null,
            "createdBy": "12",
            "updatedAt": null,
            "updatedBy": "12"
        }
    ]
    }
 

您可以使用`数据属性'创建另一个模型类

public class UserData {

   private List<User> data
   // getters and setters

  }
公共类用户数据{
私有列表数据
//接球手和接球手
}
然后更改控制器中的返回类型

 @CrossOrigin(origins = "http://localhost:8080")
 @GetMapping("/users")
 public UserData getAllUsers() {
     List<User> users = userRepository.findAll();
     return new UserData(users);
  }
@交叉原点(原点=”http://localhost:8080")
@GetMapping(“/users”)
公共用户数据getAllUsers(){
List users=userRepository.findAll();
返回新的用户数据(用户);
}
或者,如果不想创建其他模型,可以使用
Map

@交叉原点(原点=”http://localhost:8080")
@GetMapping(“/users”)
公共地图getAllUsers(){
List users=userRepository.findAll();
返回集合。singletonMap(“数据”,用户);
}

您可以使用“数据属性”创建另一个模型类

public class UserData {

   private List<User> data
   // getters and setters

  }
公共类用户数据{
私有列表数据
//接球手和接球手
}
然后更改控制器中的返回类型

 @CrossOrigin(origins = "http://localhost:8080")
 @GetMapping("/users")
 public UserData getAllUsers() {
     List<User> users = userRepository.findAll();
     return new UserData(users);
  }
@交叉原点(原点=”http://localhost:8080")
@GetMapping(“/users”)
公共用户数据getAllUsers(){
List users=userRepository.findAll();
返回新的用户数据(用户);
}
或者,如果不想创建其他模型,可以使用
Map

@交叉原点(原点=”http://localhost:8080")
@GetMapping(“/users”)
公共地图getAllUsers(){
List users=userRepository.findAll();
返回集合。singletonMap(“数据”,用户);
}

它很管用,非常感谢