如何在 Play 框架中进行路由?

How to do routing in Play framework?

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

  1. 在 Intellij 中创建一个新项目
  2. 运行 它与 play 框架一起工作并且可以工作 (localhost:9000)
  3. 现在我在 Controller 包中添加了一个新的 Java class 文件。
  4. 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。我在这里做错了什么?

Play 切换为使用依赖注入,因此在控制器中引用函数的方式是:

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

注意“@”