我的游戏!应用程序我有一个User.class
@Entity
public class User extends Model {
@Id
public String email;
public String name;
public String password;
public User(String email, String name, String password) {
this.email = email;
this.name = name;
this.password = password;
}
...
}
每次我在/user/{id}.json上询问用户对象时,我想防止发送密码字符串。怎么做?这是正常的用例还是有其他方法来处理它?</ p>
答案 0 :(得分:0)
您是否尝试过为json使用虚拟课程?
喜欢这个.. 这是您的用户模型
@Entity
public class User extends Model
{
@Id
public String email;
public String name;
public String password;
public User(String email, String name, String password) {
this.email = email;
this.name = name;
this.password = password;
}
}
这将是您返回json值的Dummy类
public class UserDummy
{
public String email;
public String name;
public UserDummy(string email) {
models.User user = models.User.findById(email);
this.email = user.email;
this.name = user.name;
}
}
答案 1 :(得分:0)
Play使用Jackson序列化为Json,因此所有Jackson工具都可用。
要从Json序列化中排除字段,可以使用@JsonIgnore
注释对其进行注释。
在你的例子中:
import org.codehaus.jackson.annotate.JsonIgnore;
@Entity
public class User extends Model {
@Id
public String email;
public String name;
@JsonIgnore
public String password;
...
}