Java 游戏框架可以';我找不到正确的路线

Java 游戏框架可以';我找不到正确的路线,java,scala,playframework,Java,Scala,Playframework,我有一个奇怪的问题 这是我在routes文件中的内容 GET /path/list controllers.path.getPaths() GET /path/:id controllers.path.get(id:Int) 当我尝试转到/path/list时,会显示以下错误: 对于请求“GET/path/list”[无法将参数id解析为Int:For] 输入字符串:“列表”]

我有一个奇怪的问题

这是我在
routes
文件中的内容

GET     /path/list                          controllers.path.getPaths()
GET     /path/:id                           controllers.path.get(id:Int)
当我尝试转到
/path/list
时,会显示以下错误:

对于请求“GET/path/list”[无法将参数id解析为Int:For] 输入字符串:“列表”]

我还试图更改
routes
文件中的顺序

GET     /path/:id                           controllers.path.get(id:Int)
GET     /path/list                          controllers.path.getPaths()
我仍然会犯同样的错误。所以我的问题是

  • 路线不应该匹配匹配的第一条路径吗
  • 还有什么问题(例如java代码)

  • 根据您提供的代码,这应该可以工作。路线并不含糊,因为(根据播放文档):

    许多路由可以匹配相同的请求。如果存在冲突,则使用第一条路由(按声明顺序)

    如果您的
    路线
    订购如下所示:

    GET     /path/list                          controllers.path.getPaths()
    GET     /path/:id                           controllers.path.get(id:Int)
    
    /path/list
    将在尝试从路径提取/转换id参数
    id:Int
    并抛出之前匹配

    如果希望Play将传入参数转换为特定的Scala类型,可以添加显式类型

    如果您试图访问与
    列表不匹配或不是
    Int
    的路线,则不起作用的唯一方法是:

    For request 'GET /path/lists' [Cannot parse parameter id as Int: For input string: "lists"]
    

    我猜你的路径是不明确的,你应该像
    /path/list
    /path/:id
    一样添加完整的路由文件。是的,伙计,你是对的,假设它应该工作。我创建了一个新项目,并将所有文件放入其中,它开始工作。我很高兴它能起作用,但我因为花了几个小时做傻事差点把显示器砸了。。。