我有一个Java play 2控制器,它接受如下的查询字符串参数:
控制器:
public static Result syncInterests(
String lastsyncdate,
String fooid) {
}
测试:
Result result = routeAndCall(fakeRequest(GET, "/foo/sync?fooid=123"));
但是得到了这个错误。这是什么意思?这肯定是一个java动作。
failed: This is not a JavaAction and can't be invoked this way.
编辑:
这是我在路线中定义的方式。 lastsyncdate是可选的。
GET /foo/sync controllers.FooSync.syncInterests(lastsyncdate: String, fooid: String)
编辑:
我无法让它发挥作用。所以我用这个函数测试继续我的其他工作。
Result result = callAction(controllers.routes.ref.FooSync.syncInterests(time, fooId));
答案 0 :(得分:1)
我认为您的网址“/ foo / sync?fooid = 123”对于控制器来说是不正确的。它应该是“/ foo / syncInterests?fooid = 123”, syncInterests 方法应该有return语句。