【发布时间】:2019-02-25 23:09:12
【问题描述】:
我在我的 restfull 网络服务 metgod 中的我的 get 方法有问题。我为我的用户实体创建了一个控制器,并且我有一个变量 isActive(boolean): isActive 是一个名字,在我的所有代码中我没有一个简单的活动词,但是当我使用邮递员时,他们会返回我:
{
"userId": 5,
"emailLogin": "t5.email@be-tse.com",
"firstName": "Name_5",
"lastName": "Lastname_5",
"userDepartment": "SALESFORCE",
"roles": [],
"active": false
}
最后一个元素应该是 isActive - 为什么要更改?我使用 lombok 这可能是一个原因吗?
我的实体:
@Getter
@Setter
@Builder
@ToString
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name = "USER")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "USER_ID")
private Integer userId;
@Column(nullable = false, unique = true)
private String emailLogin;
private String firstName;
private String lastName;
@Column(nullable = false)
@JsonIgnore
private String password;
private boolean isActive;
@ManyToOne(optional = false)
@JoinColumn(name = "DEPARTMENT_ID")
@JsonIgnore
private UserDepartment userDepartment;
@ManyToMany
@JsonIgnore
@JoinTable(name = "USER_ROLES",
joinColumns = @JoinColumn(name = "USER_ID"),
inverseJoinColumns = @JoinColumn(name = "ROLE_ID"))
private Set<UserRole> roles;
public User(String emailLogin, String firstName, String lastName, String password, boolean isActive, UserDepartment userDepartment, Set<UserRole> roles) {
this.emailLogin = emailLogin;
this.firstName = firstName;
this.lastName = lastName;
this.password = password;
this.isActive = isActive;
this.userDepartment = userDepartment;
this.roles = roles;
}
}
【问题讨论】:
-
在对象中显示
isActive,getter/setter 是什么? -
我使用 lombok,所以我没有 setter/getter
-
您可能会觉得它令人困惑,但标准的
getter/setter用于布尔值isActive和active是相同的,即getter isActive()和setter setActive(boolean isActive)`。