播放2 GET方法最大长度

时间:2014-04-21 07:39:30

标签: java playframework

我正在使用Play framework (Java)为我的应用创建REST api。 我遇到问题,REST API的长度为GET

我需要使用以下网络方法:

public static Result getregistereduser(String userlist)
{

    //userlist is string of user numbers seperated by "$" , 

    .....

    ....

}

在我的路线中:

GET    /getregistereduser                   controllers.Application.getregistereduser(userlist)

我面临的问题是当用户列表很大时,它只需要部分字符串。

1 个答案:

答案 0 :(得分:2)

我不确定您使用的播放版本是什么,但Play不应截断长GET请求。如果GET请求太大而无法处理,则应该收到错误响应。

直到最近,该错误将由500 Internal Server Error引起org.jboss.netty.handler.codec.frame.TooLongFrameExceptionWith Play 2.3.0(尚未发布)您将获得414 Request URI too long响应。

Play从Netty继承其HTTP头解析。标头的第一行(GET /path HTTP/1.1)默认最多为4096字节。这可以使用http.netty.maxInitialLineLength系统属性进行配置(请参阅此mailing list thread)。

我同意您最有可能发现HTTP客户端出现问题。我建议使用像Charles这样的调试代理(或免费的替代方案)来查看客户端发送的HTTP请求。