使用参数生成端点

时间:2016-05-17 17:06:29

标签: scala playframework

在Scala Play中,我们有以下方法将参数传递到URL:

ws.url(url).withQueryString("paramKey" -> "paramValue").get()

这适用于使用以下模式的网址:

/foo?paramKey=paramValue

我在路由器中定义了一个端点,如下所示:

GET   /foo/:id/:version

我使用WS库调用此端点。有withQueryString的等效方法可以让我生成这个URL模式,还是我必须手工制作自己的函数?

2 个答案:

答案 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模板库可能是合适的。