我正在使用Java中的Play framework 2.3构建应用程序。
我有一个JSON正文的POST请求。因此,对于retreiving数据,我使用具有多层次重叠的Form来尊重JSON模型。它工作得很好,但我最近认为它没有检查约束(如Constraints.Required)。我实际上并不知道它是否总是有这种行为,或者它是否只是我的最后一次测试,但我不能让它原样。
所有人都知道是否可以递归检查约束?
你有案例的例子在这里不起作用:
public class PairRequest
{
@Constraints.Required
public String epc;
@Constraints.Required
public RequestProduct product;
}
public class RequestProduct
{
//Product data
@Constraints.Required
public String productCode;
@Constraints.Required
public Brand brand;
@Constraints.Required
public String furniture;
}
这里如果田地'家具'如果不存在,hasError()函数返回false。
import static play.data.Form.form;
public static Result pair(String tokenString)
{
try
{
Token token = Token.getToken(tokenString);
PairingCommit commit = PairingCommitService.getCommit(token.user);
Form<PairRequest> form = form(PairRequest.class).bindFromRequest();
if(form.hasErrors())//check out for form errors
throw Error.BAD_REQUEST(form.errors());
CommitItemService.create(form.get(), commit);
return ok(toJson(Response.OK));
}
catch(Error error){ return ok(toJson(error)); }
}
答案 0 :(得分:1)
您必须添加@Valid
注释。