Scala Play 2.2.x:在帖子正文中查询参数,避免超过URL限制

Scala Play 2.2.x:在帖子正文中查询参数,避免超过URL限制,scala,rest,playframework,playframework-2.2,Scala,Rest,Playframework,Playframework 2.2,我有一个API路由,它接受一个列表,该列表有时可能太长,以至于超出了某些浏览器的URL长度限制。看起来是这样的: GET /api/test Controller.test(potentiallyLongList: List[Long], other: String, ...) 为了避免这个问题,我们决定,如果客户机发现列表太长,它将切换到在POST正文中发送POTENTALYLONGLIST参数 我想知道最好的方法是什么?potentiallyLongList参数显示在多个路由中,因此我希望

我有一个API路由,它接受一个列表,该列表有时可能太长,以至于超出了某些浏览器的URL长度限制。看起来是这样的:

GET /api/test Controller.test(potentiallyLongList: List[Long], other: String, ...)
为了避免这个问题,我们决定,如果客户机发现列表太长,它将切换到在POST正文中发送POTENTALYLONGLIST参数

我想知道最好的方法是什么?potentiallyLongList参数显示在多个路由中,因此我希望避免为每个路由使用两种方法

我想到的一件事是捕获所有POST请求,检查它们是否在正文中包含列表,然后将其移动到URL并再次通过Play的路由过程发送。不幸的是,Global.scala中的onRouteRequest处理程序还没有解析主体,所以我不能这样做


操作中是否有任何方法修改url,然后再次运行完整请求?或者有更好的方法解决这个问题吗?

为什么不将所有请求都作为帖子发送?您还可以尝试对JSON对象进行base64编码,并将其作为URL参数发送。我们有一个前端缓存层,用于查看URL,因此我想确保大多数请求都已收到