我正在使用HATEOAS样式的API,其中包含指向服务器响应中嵌入的其他资源的链接,如
{
"lat": 51.50559,
"lon": 7.31667,
"id": "85a02d3c-b501-4429-a944-b2fd578688cb",
"_links": {
"soundings": {
"href": "/locations/85a02d3c-b501-4429-a944-b2fd578688cb/soundings"
},
"self": {
"href": "https://some.server/locations/85a02d3c-b501-4429-a944-b2fd578688cb"
}
}
}
我正在使用Play框架和Scala(www.playframework.com),以及该框架的WSClient
来调用API。如您所见,在此响应中,链接有时是相对的,有时是绝对的(当资源在另一台服务器上可用时)。最后,我想关注嵌入式链接。
我想避免手动摆弄主机/协议,有时避免使用相对/有时是绝对的网址来获取我可以提供给WSClient
的绝对网址。最后,我正在寻找一些在处理绝对和相对URL时表现得像“Web浏览器”的工具。
是否有可能将此任务交给播放框架的WSClient
或底层的akka-http?如果没有,你可以建议哪个其他REST客户端可以完成这项工作(最好是Scala; Java也可以工作)?