Finch:如何在中间用param定义Endpoint

时间:2017-12-18 08:56:50

标签: scala rest finagle finch

我正在尝试在中间定义一个带有param的端点。

类似于:

get(" foo" :: param(" id")::" goo")

所以,我可以通过以下休息电话来呼叫它:

http://mydomain/foo?id=99/goo

但是,出于某种原因,它没有用。

任何想法?

感谢, 叶兰。

1 个答案:

答案 0 :(得分:0)

get("foo" :: param("id") :: "goo")处理程序中,此"foo" :: param("id") :: "goo"名称为route path

param("id")实际上是path-parameter而不是query-parameter

标准网址方案如下所示,

scheme:[//[user[:password]@]host[:port]][/path][?query][#fragment]

path-parameters实际上不是标准URL scheme的一部分,而是使用现代http框架的正则表达式匹配从URL的path部分提取。

所以......你需要使用http url - http://mydomain/foo/99/goo

来访问它