我有一个像这样的网址
我正在使用Play框架
HTTP路由:
GET /students controllers.Application.Get()
POST /students controllers.Application.Post()
PUT /students/{studentNo} controllers.Application.Put()
我如何获得{studentNo}值?例如,我使用邮递员(休息客户端)并在网址http://localhost:9000/students/2012111222中输入内容,我将如何获得" 2012111222"。我是否需要拆分URL的值才能获得该参数或是否有其他内容。谢谢。!
答案 0 :(得分:1)
正如您在Play's routing documentation中所看到的,您可以使用冒号语法来定义路由URL的某些部分是变量并将该变量传递给控制器方法,即:
{{1}}
答案 1 :(得分:0)
做这样的事情:
如果你有一个字符串:
String s="POST /students/12 controllers.Application.Post()";
您可以检索“12”,如:
int studentNo = Integer.parseInt(s.split("\\s+|,\\s*|\\.\\s*")[1].split("/")[2]);
答案 2 :(得分:-1)
您无法使用/students/:studentNo
,在POST请求中使用/students?number=111
并使用DyanamicForm
或request().getQueryString("number")
获取值,而不提及controllers.Application.Post(studentNo: Long)
< / p>