java - 玩法2 GET方法最大长度

标签 java playframework

我正在使用 Play 框架 (Java) 为我的应用程序创建 REST API。 我遇到了 REST APIGET 的长度问题。

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

public static Result getregistereduser(String userlist)
{

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

    .....

    ....

}

在我有的 route :

GET    /getregistereduser                   controllers.Application.getregistereduser(userlist)

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

最佳答案

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

直到最近,该错误仍是由 org.jboss.netty.handler.codec.frame.TooLongFrameException 引起的 500 内部服务器错误With Play 2.3.0 (尚未发布)您将收到 414 Request URI too long 响应。

Play继承了Netty的HTTP头解析。 header 的第一行 (GET/path HTTP/1.1) 默认情况下最多可达 4096 字节。这可以通过 http.netty.maxInitialLineLength 系统属性进行配置(请参阅此 mailing list thread )。

我同意您的 HTTP 客户端很可能出现问题。我建议使用调试代理,例如 Charles (或免费替代方案)来准确查看您的客户端发送的 HTTP 请求。

关于java - 玩法2 GET方法最大长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23193055/

相关文章:

java - Java中是否存在不受支持的操作注释?

java - selectOneMenu Primefaces 中的分组项目

java - Hadoop 中失败文件的重试处理

java - Play 框架中的 Cron Job

java - 使用 JPA EntityManager 加入 play2 框架 - 结果集作为映射?

java - Eclipse Java Web 应用程序生成以下错误 - "Generating the api metadata for your cloud endpoints classes"

java - 无法使用 Spring RestTemplate 使用 JSON 数组

playframework - 服务端填充HTML模板,客户端更新

forms - 重复值的唯一约束

scala - 框架比较 : Lift, Play 和 Wicket