在Scala Play中,我们有以下方法将参数传递到URL:
ws.url(url).withQueryString("paramKey" -> "paramValue").get()
这适用于使用以下模式的网址:
/foo?paramKey=paramValue
我在路由器中定义了一个端点,如下所示:
GET /foo/:id/:version
我使用WS库调用此端点。有withQueryString
的等效方法可以让我生成这个URL模式,还是我必须手工制作自己的函数?
答案 0 :(得分:0)
如果在同一个应用程序中,那么我想你可以选择:https://www.playframework.com/documentation/2.5.x/ScalaRouting#Reverse-routing
否则你可能只是寻找一些url编码器,它可以帮助你编码url的部分,但是这不会为你构建整个url。最后,网址的格式是完全随意的,所以某些图书馆无法想象你想把你的参数放在哪里。
答案 1 :(得分:0)
ws.url接受一个String,因此您希望像https://github.com/NET-A-PORTER/scala-uri这样的URI构造库为您构建该路径。还有一些URI模板库可能是合适的。