您好,我需要工作流程(如何创建 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/