播放2.2.x:在POST正文中查询参数以避免超出URL限制

时间:2014-12-06 21:13:27

标签: scala rest playframework playframework-2.2

我有一个API路由,它采用的列表有时会超过某些浏览器的URL长度限制。它看起来像这样:

GET /api/test Controller.test(potentiallyLongList: List[Long], other: String, ...)

为了避免这个问题,我们决定如果客户端看到列表太长,它将切换到在POST正文中发送potentialLongList参数。

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

我想到的一件事是捕获所有POST请求,检查它们是否在正文中有列表,然后将其移动到URL并再次通过Play的路由进程发送。不幸的是,Global.scala中的onRouteRequest处理程序尚未对正文进行解析,所以我无法做到。

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

0 个答案:

没有答案