玩! - 没有密码的GET / user / {id}

时间:2013-06-03 20:36:53

标签: java rest playframework playframework-2.0

我的游戏!应用程序我有一个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>

2 个答案:

答案 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;
    ...
}