java - Play框架中如何进行路由?

标签 java intellij-idea playframework playframework-2.0

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

  1. 在 Intellij 中创建一个新项目
  2. 使用 play 框架运行它并且它可以工作 (localhost:9000)
  3. 现在我在 Controller 包中添加了一个新的 Java 类文件。
  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 切换为使用依赖注入(inject),因此在 Controller 中引用函数的方法是:

POST/Test @controllers.TestController.createTest()

注意“@”

关于java - Play框架中如何进行路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34403330/

相关文章:

java - 无法格式化输出

java - 通过套接字将屏幕截图从 Java 发送到 CPP - 发布接收图像

java - REGEX 从控制台命令获取标志?

java - hexString.toInt(32) NumberFormatException

scala - 尝试在 IntelliJ 中添加 Spark 依赖项时出现 OpenJDK Server VM 和 Unresolved 依赖项警告

java - MyEclipse 中的快捷键

scala - 使用依赖注入(inject) Play Framework PathBindable

json - Play JSON : Reading and validating a JsObject with unknown keys

scala - 混合 Akka 2、Play2-mini 框架和 HTTP

scala - 项目在 IntelliJ 中编译良好,Tomcat 说 java.lang.NoClassDefFoundError : my/package/name/blah