Routes Play2管线动态部分不作为方法参数
通常,我们用这种样式编写带有参数的路由Routes Play2管线动态部分不作为方法参数,routes,playframework-2.0,Routes,Playframework 2.0,通常,我们用这种样式编写带有参数的路由 GET /clients/:clientId/info Controllers.Application.client(clientId) 在某些情况下,我不需要方法Application.client()中的clientId,我希望可以这样编写条目 GET /clients/:clientId/info Controllers.Application.client() 例如,我想通过解析url来获
GET /clients/:clientId/info Controllers.Application.client(clientId)
在某些情况下,我不需要方法Application.client()中的clientId,我希望可以这样编写条目
GET /clients/:clientId/info Controllers.Application.client()
例如,我想通过解析url来获取clientId
换句话说,希望url模式/clients/[^/]+/info转到Application.client()方法
如何实现它?恐怕不能忽略路由参数的使用。路由分析器将防止您跳过它们 您必须提供一个接受参数的方法
GET /clients/:clientId/info Controllers.Application.client(clientId)
如果您确实需要一个具有无参数签名的方法,那么您所能做的就是转发来自具有参数的方法的请求
GET /clients/:clientId/info Controllers.Application.client(clientId)
你没有写你正在使用的语言。在Scala中,它将如下所示:
object Application extends Controller {
def client(id: String): Action[AnyContent] = client()
def client() = Action {
Ok("")
}
}
对于Java:
public class Application extends Controller {
public static Result client(String id) {
return client();
}
public static Result client() {
return ok();
}
}
您不能用相同的方法使用两个不同的路由
GET
和path/clients/:clientId/info
-这很明显-路由器应该如何猜测path/clients/foo/info
应该路由到/clients/bar/info
之外的其他操作
这是您的应用程序的任务。客户端(clientId)
操作