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

时间:2015-12-21 19:52:24

标签: java intellij-idea playframework playframework-2.0

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

  1. 在Intellij中创建一个新项目
  2. 使用play框架运行它,它可以工作(localhost:9000)
  3. 现在我在Controller包中添加了一个新的Java类文件。
  4. config/routes文件中添加路由配置。
  5. 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。我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

Play切换到使用依赖注入,因此在Controller中引用函数的方法是:

POST / Test @ controllers.TestController.createTest()

请注意&#39; @&#39;