我使用Play框架,我想为这样的查询提供支持:
myroute?param=blablabla&bbox=57.121,1.778,58.144,3.798
并使用Java类映射这些参数:
public class MyQuery {
private String param;
private BBox bbox;
// + getters and setters
}
BBox 将是:
public class BBox {
private Double minLat;
private Double minLon;
private Double maxLat;
private Double maxLon;
// + getters and setters
}
以后在我的控制器中打电话:
Form<MyQuery> form = Form.form(MyQuery.class).bindFromRequest();
if (!form.hasErrors()) {
MyQuery q = form.get();
q.getBBox().getMinLat();
q.getBBox().getMinLon();
// ...
}
目前我没有BBox类,我使用String + @ValidateWith注释,但这种方法对我来说看起来很难看。
是否有一个解决方案(最好使用Form)允许在一个地方(一个类)保持验证,解析和分配值?