【发布时间】:2020-03-16 15:36:11
【问题描述】:
我正在实现一个 API 来返回所有标记的用户(布尔值 true)。我是 Spring Boot 的新手,我想知道在 UserDAO 上实现该方法的最佳方法是什么
该 DAO 方法是否有意义,我想返回一个 LIST 一个 Users 并将 FLAG 设置为 true。
用户
@Entity
@Table(name = "user", schema = "public")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "userid", nullable = false)
private Long userId;
@Column(name = "flag")
private Boolean flag;
public Boolean getFlag() {
return flag;
}
public void setFlag(Boolean flag) {
this.flag = flag;
}
DAO
@Repository
public interface UserDao extends JpaRepository<User, Long> {
List<User> findByRoleId(Integer roleId);
服务
public Execution<User> getFlaggedUsers() {
Execution<User> res;
try {
List<User> users = userDao.findUsersByFlag();
res = new Execution<>(ResultEnum.SUCCESS, users);
} catch (Exception e) {
res = new Execution<>(ResultEnum.INNER_ERROR);
}
return res;
}
控制器
@GetMapping("/flagged_users")
public Map<String, Object> getFlaggedUsers() throws InternalException {
Map<String, Object> resultMap = new HashMap<>();
try {
Execution<User> res = userService.getFlaggedUsers();
resultMap.put(Constants.USER.getStatusCode(), res.getObjects());
} catch (Exception e) {
throw new InternalException(e.getMessage());
}
return resultMap;
}
【问题讨论】:
标签: spring-boot