在方法中输出特定的类字段?

问题描述 投票:0回答:2

我正在编写一个简单的 Spring CRUD 应用程序。我有一个方法应该向用户发出禁令。执行该方法时,应返回有关用户的信息,但不是全部。我只需要一个独特的令牌和禁令的原因。相反,将返回所有信息。如何返回特定的类字段?

这是我的方法:

public User  banUser(User user){
        for(var element : users.entrySet()){
            if(element.getValue().getToken().equals(user.getToken())){
                element.getValue().setBanReason(user.getBanReason());
                element.getValue().setDayOfBan(currentDateAndTime.toString());
                element.getValue().setBlocking(true);
                return user;
            }
        }
        return null;
    
java spring methods hashmap crud
2个回答
0
投票

也许使用仅具有相关实例变量的 UserDto。所以你基本上将 User Entity 转换为 UserDto


0
投票

return user;

您的代码返回一个

User
对象,整个
User
对象。

如果您想交换

User
对象中保存的数据子集,可以:

  • 仅使用字段子集定义一个新类。如果此类的主要目的是透明地通信浅层不可变数据,则将该类定义为“记录”。在上面的方法中,实例化并返回这个新类的对象。
  • 使用有限数量的 getter 方法(访问器)定义一个接口
  • 。让您的 User 类实现该接口。在上面的方法中,将返回类型定义为接口而不是
    User
    。这有效地 (a) 隐藏了所有字段,并且 (b) 隐藏了接口定义中未列出的其他方法。
    
        
© www.soinside.com 2019 - 2024. All rights reserved.