我有一个用户模型。它在我的 Spring Security 中使用,我有一些 HashSet 字段,其中包含我的用户的角色。但现在我尝试设置 REST。当我获得 json 格式的用户对象时,由于这个 HashSet,我也得到了一些无限循环。
我的 Controller :
@RequestMapping(value="/rest/{login}", method = RequestMethod.GET)
public String getRest(@PathVariable String login, Model model){
model.addAttribute("user",dao.findByLogin(login));
return "rest";
}
小片段:
{
"user" : {
"login" : "roman",
"password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
"email" : "email",
"enabled" : true,
"userRole" : [ {
"roleId" : 1,
"user" : {
"login" : "roman",
"password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
"email" : "email",
"enabled" : true,
"userRole" : [ {
"roleId" : 1,
"user" : {
"login" : "roman",
"password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
"email" : "email",
"enabled" : true,
"userRole" : [ {
"roleId" : 1,
"user" : {
"login" : "roman",
"password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
"email" : "email",
"enabled" : true,
"userRole" : [ {
"roleId" : 1,
"user" : {
"login" : "roman",
"password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
"email" : "email",
"enabled" : true,
"userRole" : [ {
"roleId" : 1,
"user" : {
"login" : "roman",
"password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
"email" : "email",
"enabled" : true,
"userRole" : [ {
"roleId" : 1,
"user" : {
"login" : "roman",
"password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
"email" : "email",
"enabled" : true,
"userRole" : [ {
"roleId" : 1,
"user" : {
"login" : "roman",
"password" : "$2a$10$04TVADrR6/SPLBjsK0N30.Jf5fNjBugSACeGv1S69dZALR7lSov0y",
"email" : "email",
"enabled" : true,
"userRole" : [ {
"roleI ....
在这种情况下我能做什么?
最佳答案
注释 UserRole
的 user
属性:
@JsonBackReference
这指示 Jackson 这是一个循环引用,不应遵循。
关于java - HashSet Rest模型麻烦Spring,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27963191/