如何将传入的JSON自动绑定到POJO?(播放2.3.7——Java)
这就是我的控制器方法现在的样子:如何将传入的JSON自动绑定到POJO?(播放2.3.7——Java),java,json,playframework-2.0,jackson,Java,Json,Playframework 2.0,Jackson,这就是我的控制器方法现在的样子: public static Result createGoal() { JsonNode json = request().body().asJson(); ObjectMapper mapper = new ObjectMapper(); return ok(toJson(Goal.create(mapper.convertValue(json, Goal.class)))); } 这是我希望它看起来的样子: public sta
public static Result createGoal() {
JsonNode json = request().body().asJson();
ObjectMapper mapper = new ObjectMapper();
return ok(toJson(Goal.create(mapper.convertValue(json, Goal.class))));
}
这是我希望它看起来的样子:
public static Result createGoal(Goal goal) {
return ok(toJson(Goal.create(goal)));
}
我猜我的routes文件将从此处更改:
POST /goals controllers.Goals.createGoal()
为此:
POST /goals controllers.Goals.createGoal(goal: Goal)
但这似乎不起作用,因为我在路由中得到一个“编译错误[未找到:键入目标]”,您需要在
Goal
类前面加上完整的包名。更多,玩吧!需要知道如何将查询或路径参数绑定到<代码>目标< /代码>类,从而考虑实现<代码>播放.MVC。
<代码>对象映射器< /C>是一个昂贵的类,因此考虑使用窗体绑定:
Form.form(Goal.class).bindFromRequest();
不幸的是,这在Play1.x和Dropwizard中都是隐含的。