gpt4 book ai didi

java - POJO for rest Get调用返回java中嵌套的复杂json

转载 作者:行者123 更新时间:2023-12-01 17:17:19 24 4
gpt4 key购买 nike

您好,我需要工作流程(如何创建 pojo 结构以及如何通信)来为 REST API get Call 创建以下 json 结构。

请帮帮我

[
{
"id":"1",
"Nmae":"gourav",
"Gender":"Male",
"usertype":{
"Typeone":"Admin",
"Status":"Active"
}
{
"Typetwo":"Agent",
"Status":"Disabled"
}
},
{
"id":"2",
"Nmae":"satya",
"Gender":"Male",
"usertype":{
"Typeone":"Admin",
"Status":"disabled"
}
{
"Typetwo":"Agent",
"Status":"active"
}
}
]

最佳答案

您可以关注这样的内容,

<小时/>

Controller 类,您将在其中定义路线 -

@GET
@Path("/users")
@Produces({ javax.ws.rs.core.MediaType.APPLICATION_JSON})
public Response getUser(){

// Create Object of your DAO or Service class and use getUserDetails() to return a list of users, maybe from the Database.
List<User> usersList = serviceExampleObject.getUserDetails();

//Set the list field to the response object
return Response.status(Status.OK).entity(usersList).build();
}

如果你想遵循 SpringBoot 方法,你的 Controller 将是 -

@RestController
public class UserController {

@Autowired
private UserService userService;

@GetMapping("/users")
public ResponseEntity<?> getUsers(){

List<Users> usersList = userService.getUsersDetail();

return new ResponseEntity<>(usersList, HttpStatus.OK);
}
}

创建一个用户 PoJo(没有添加所有 getter/setter 以使帖子简短)-

class User{

private Integer id;
private String name;
private String gender;
private List<UserType> userType;

public Integer getId() {
return id;
}
...
...

public void setUserType(List<UserType> userType) {
this.userType = userType;
}
}

创建用户类型 PoJo -

class UserType{
private String typeNumber;
private String typeRole;
private String status;

public String getTypeNumber() {
return typeNumber;
}
...
...

public void setStatus(String status) {
this.status = status;
}
}

此外,json 响应需要稍微修改一下。在 userType 字段中,您可以拥有不同名称的字段,因此,我建议遵循以下方法:

"usertype": [
{
"typeNumber": "one",
"typeRole": "Admin",
"status": "Active"
},
{
"typeNumber": "two",
"typeRole": "Agent",
"status": "Disabled"
}
]

关于java - POJO for rest Get调用返回java中嵌套的复杂json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61359846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com