5

如果我添加一个参数,我似乎无法让多个参数工作,只要我添加第二个参数,我总是会得到一个

No data received
Unable to load the webpage because the server sent no data.
Here are some suggestions:
Reload this webpage later.
Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.

其他人可以确认您可以使用 play 2.0.2 向请求添加第二个参数吗?(使用Java)

我的网址就这么简单

http://localhost:9000/account/foruser?username=somethig&create=0

和路线

GET     /account/foruser
controllers.user.UserController.foruser(username:String, create:Boolean ) 
4

3 回答 3

15

您应该更多地关注路线文档和示例

通常,如果您使用命名参数,&name=value则无需在路由文件中指定它们。而是使用 Java 中的 DynamicForm 来访问它们。

路由文件用于unnamed将链接的部分与控制器的操作和参数匹配。因此,您的链接应如下所示:

http://localhost:9000/account/foruser/something/0

和路由(当然这需要放在路由文件的一行中:

GET     /account/foruser/:username/:create
   controllers.user.UserController.foruser(username: String, create: Integer ) 

请注意,这是一些关于在路由中使用 Boolean 类型的错误报告,因此使用一些数字类型更安全。

于 2012-08-11T06:18:40.313 回答
1

@biesior 我在使用具有两种类型参数的 2.0.4 时遇到了同样的问题

文件路径:

GET /v2/object/all/data/:from/:until/:all           controllers.ObjectController.getAllData(from: String, until: String , all: Boolean, username: String ?= null, password: String ?=null)

文件控制器:

public static Result getAllData(
            @PathParam("from") String from,
            @PathParam("until") String until,
            @PathParam("all") Boolean all,
            @QueryParam("username") String username, @QueryParam("password") String password)

经过多次测试,我终于解决了这个问题。您应该使用“boolean”而不是 Boolean,因此“getAllData”转换为:

public static Result getAllData(
            @PathParam("from") String from,
            @PathParam("until") String until,
            @PathParam("all") boolean all,
            @QueryParam("username") String username, @QueryParam("password") String password)
于 2013-02-01T21:38:15.593 回答
1

一个简单的例子:

此路线对应的正确网址:

GET     /user/update:action/:id controllers.myFunction(action: String, id: String)

是网址:

myWebsite.com/user/update$action=update/$id=a@a.fr

注意 :

  • 每个 url 参数都以 $ 开头
  • 没有 & 或 ? 在网址中!
  • :id 和 :action 之间的 / 必须存在。在没有它的情况下播放重定向到正确的网页,但如果您希望将正确的值(即 action => '$action=update' 和 id => '$id=a@a.fr')传输到您的功能
  • When you have an error, java display an error with the regex to apply to each route.
于 2014-07-10T11:47:36.207 回答