我正在构建一个CRUD Spring Boot应用程序 . 以下是Rest Controller的代码片段
@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
private UserRepository userRepository;
@GetMapping("/users")
public List<User> getUsers() {
List<User> allUsers = userRepository.findAll();
return allUsers;
}
}
当我打电话给“/ api / users”时,我收到以下回复:
[
{ },
{ },
]
用户类:
package entities;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "appuser")
public class User {
@Id
@GeneratedValue
private Long id;
private String fname;
private String lname;
public User(String fname, String lname) {
this.fname = fname;
this.lname = lname;
}
public User() {
}
@Override
public String toString() {
return "User [id=" + id + ", fname=" + fname + ", lname=" + lname + "]";
}
}
我希望以json形式回复 . 我该如何解决?
1 回答
如果我没记错的话Spring Boot默认使用Jackson,默认情况下Jackson在序列化过程中使用getter,所以你需要为你想要出现在JSON中的字段添加getter .
或者,您可以将此注释添加到您的类:
在JSON中使用所有字段,无论可见性如何