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()
我仍然会犯同样的错误。所以我的问题是
根据您提供的代码,这应该可以工作。路线并不含糊,因为(根据播放文档): 许多路由可以匹配相同的请求。如果存在冲突,则使用第一条路由(按声明顺序) 如果您的
路线
订购如下所示:
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
一样添加完整的路由文件。是的,伙计,你是对的,假设它应该工作。我创建了一个新项目,并将所有文件放入其中,它开始工作。我很高兴它能起作用,但我因为花了几个小时做傻事差点把显示器砸了。。。