#java #json #scala #playframework-2.0
#java #json #скала #playframework-2.0
Вопрос:
Мне труднее, чем хотелось бы признать, разобраться в документации JSON.
Я хотел бы преобразовать этот результат JSON в Scala, но я совсем запутался. Я много чего перепробовал, но я все еще изучаю Scala, так что ничего из этого на самом деле не стоит публиковать, поскольку я даже не уверен, имеет ли это смысл.
Я использую Anorm ORM в Scala. Идентификатор — это Pk[Long]
public static Result checkName(String clubname){
ObjectNode jresult = Json.newObject();
if (Club.clubExists(clubname)) {
jresult.put("error", "Club Name Exists");
return status(409, jresult); // 409 - Conflict
} else {
jresult.put("status", "OK");
return ok(jresult);
}
}
Клуб существует в модели:
public static boolean clubExists(String name) {
Club club = find.where().eq("club_name", name).findUnique();
return (club != null);
}
Остальная часть модели довольно проста:
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "club_seq")
public Long clubId;
@Column(unique=true, length = 50)
public String clubName;
public Long creator;
public DateTime created;
public Club(String clubName, Long creator) {
this.clubName = clubName;
this.creator = creator;
this.created = new DateTime();
}
public static Finder<Long, Club> find = new Finder<Long, Club>(Long.class, Club.class);
public static Club create(String name, Long creator) {
Club club = new Club(name, creator);
club.save();
return club;
}
Ответ №1:
public static Result checkName(String clubname){
ObjectNode jresult = Json.newObject();
if (Club.clubExists(clubname)) {
jresult.put("error", "Club Name Exists");
return status(409, jresult); // 409 - Conflict
} else {
jresult.put("status", "OK");
return ok(jresult);
}
}
в Scala есть (добавление as JSON
для изменения типа MIME):
def checkName(clubName:String) = Action {
val jresult = Json.obj()
if (Club.exists(clubName)) {
Conflict(jresult) as JSON
} else {
Ok(jresult) as JSON
}
}