我正在使用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)
我面临的问题是当用户列表很大时,它只需要部分字符串。
答案 0 :(得分:2)
我不确定您使用的播放版本是什么,但Play不应截断长GET请求。如果GET请求太大而无法处理,则应该收到错误响应。
直到最近,该错误将由500 Internal Server Error
引起org.jboss.netty.handler.codec.frame.TooLongFrameException
。 With 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请求。