我有一个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));
最佳答案
我认为您的网址“ / foo / sync?fooid = 123”对于控制器不正确。它应该是“ / foo / syncInterests?fooid = 123”,并且syncInterests方法应该具有return语句。