嗨,我需要工作流(如何创建pojo结构和如何通信)在json结构下面创建REST调用。
请帮帮我
[
{
"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"
}
}
]发布于 2020-04-22 08:27:46
你可以这样做,
控制器类,您将在其中定义您的路线-
@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的方法,您的控制器将是-
@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;
}
}创建一个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"
}
]发布于 2020-04-22 07:57:31
您可以使用您想要的字段创建一个名为User的类,并使用javax.ws.rs.core.Response,如下所示:
@Produces({ javax.ws.rs.core.MediaType.APPLICATION_JSON})
Response getUser(){
User user = new User();
//set fields
return Response.status(Status.OK).entity(user).build();
}发布于 2020-04-22 08:04:45
您只需创建两个类,一个用于user,另一个用于UserType
Public Class UserType {
private String type;
private String status;
//Constructor, Getters and Setters, etc.
}
Public Class User {
private long id;
private String name;
private String gender;
private UserType userType;
//Constructor, Getters and Setters, etc.
}然后,当您返回User时,它还将返回与您前面描述的json对应的UserType。它应该是这样的:
@RequestMapping(value = "/url", method = RequestMethod.GET)
public User getUser(PARAMS_IF_ANY) {
// Application logic to find the user
return user;
}这招就完成了
https://stackoverflow.com/questions/61359846
复制相似问题