JAX RS 获取对象列表
JAX RS get list of objects
尝试使用 JAX RS 我想用我的数据实现 CRUD 操作。首先,我想获取 json formate 中的对象列表。
@Path("/users")
public class ListUsersRestController {
@GET
@Produces("application/json")
public List<User> getUsers(){
List<User> users = new ArrayList<>();
users.add(new User("Dean", "Winchester"));
users.add(new User("Sam", "Winchester"));
users.add(new User("Bobby", "Singer"));
return users;
}
@XmlRootElement
public class User {
@XmlElement(name="first-name")
private String firstName;
@XmlElement(name="last-name")
private String lastName;
public User(){
}
public User(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
}
}
当我请求我的 URI 时,我总是收到 500 服务器错误并且日志文件中没有任何错误(我使用的是 glassfish)。
问题出在这里:
@XmlRootElement
public class User {
...
}
你的 User
class 现在是 ListUsersRestController
的内部 class 并且 JAXB 似乎无法编组内部 classes(因为它们是更像是 ListUsersRestController
的实例成员,而不是真正的 class)。将其外部化为正常 class 或使其成为 static
:
@XmlRootElement
public static class User {
...
}
尝试使用 JAX RS 我想用我的数据实现 CRUD 操作。首先,我想获取 json formate 中的对象列表。
@Path("/users")
public class ListUsersRestController {
@GET
@Produces("application/json")
public List<User> getUsers(){
List<User> users = new ArrayList<>();
users.add(new User("Dean", "Winchester"));
users.add(new User("Sam", "Winchester"));
users.add(new User("Bobby", "Singer"));
return users;
}
@XmlRootElement
public class User {
@XmlElement(name="first-name")
private String firstName;
@XmlElement(name="last-name")
private String lastName;
public User(){
}
public User(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
}
}
当我请求我的 URI 时,我总是收到 500 服务器错误并且日志文件中没有任何错误(我使用的是 glassfish)。
问题出在这里:
@XmlRootElement
public class User {
...
}
你的 User
class 现在是 ListUsersRestController
的内部 class 并且 JAXB 似乎无法编组内部 classes(因为它们是更像是 ListUsersRestController
的实例成员,而不是真正的 class)。将其外部化为正常 class 或使其成为 static
:
@XmlRootElement
public static class User {
...
}