Play框架 - 使用自定义类查询参数绑定

时间:2018-01-03 12:56:00

标签: java playframework binding query-parameters

我使用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)允许在一个地方(一个类)保持验证,解析和分配值?

0 个答案:

没有答案