我是Play Framework的新手,正在尝试在Intellij中设置一个非常小的项目。因此,我遵循了一些基本步骤:


在Intellij中创建一个新项目
使用play框架运行它并可以正常工作(localhost:9000)
现在,我在Controller程序包中添加了一个新的Java类文件。
config/routes文件中添加路由配置。


TestController.java

public class TestController extends Controller {

public F.Promise<Result> createTest() {
    return F.Promise.promise(() -> TestEndpoints.createTest(Json.fromJson(request().body().asJson(),
            Test.class))).map((result) -> ok(Json.toJson(result)));
}


路线

POST    /Test    controllers.TestController.createTest()


当我运行项目时,出现以下错误:

value createTest is not a member of object controllers.TestController


为什么会这样呢?我刚刚发现我的Controller文件夹具有Application.scala而不是Application.java的一件事。我在这里做错了什么?

最佳答案

播放切换为使用依赖注入,因此在Controller中引用函数的方式是:

POST /测试@ controllers.TestController.createTest()

注意“ @”

09-27 03:53