【发布时间】:2016-03-26 06:09:29
【问题描述】:
我尝试从 PostMan 调用 Post 方法,但无法调用。
控制器文件:
public class UserController extends Controller{
public Result getAll() {
List<User> users = new ArrayList<User>();
users.add(new User("Vinit", "vinitsolanki@yahoo.com", 25));
users.add(new User("Jaimin", "jaimin@yahoo.com", 25));
return ok(Json.toJson(users));
}
public Result get(Long id) {
User user = new User();
user.setId(id);
user.setName("Vinit");
user.setEmail("vinitsolanki@yahoo.com");
user.setAge(25);
return ok(Json.toJson(user));
}
public Result create(User user){
return ok(Json.toJson(user));
}
}
路由文件:
#User
#Method.Type url mapping with method
GET /user controllers.UserController.getAll
GET /user/:id controllers.UserController.get(id: Long)
POST /user controllers.UserController.create
get 方法/url 和/user/:id 工作正常,但我对/user 的帖子有点困惑。我尝试了文件中的代码,但出现上述错误。
missing arguments for method create in class UserController;
follow this method with `_' if you want to treat it as a partially applied function
【问题讨论】:
-
您的方法需要一个用户对象,但您没有传递它。
-
我通过这个 json {"id":10,"name":"vinit","email":"vinit@yahoo.com"}
-
但是该方法如何知道将此 json 转换为用户对象?
-
是的,我对此感到困惑,我之前使用过 spring,在 spring 中我使用过 Jackson 文学,所以 Play 2.5 需要哪种文学/配置
-
我可以使用 request().body().asJson() 获取用户对象。这是获取用户对象的正确方法吗?
public Result create(){ User user = Json.fromJson(request().body().asJson(), User.class); return ok(Json.toJson(user)); }
标签: java playframework resteasy playframework-2.5