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

问题描述 投票:0回答:1

我试图在中间定义一个带有参数的端点。

类似的东西:

get(“foo”:: param(“id”)::“goo”)

所以,我可以通过以下休息电话来调用它:

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

但是,由于某种原因,它不起作用。

任何的想法 ?

谢谢,伊兰。

scala rest finagle finch
1个回答
0
投票

在你的get("foo" :: param("id") :: "goo")处理程序中,这个"foo" :: param("id") :: "goo"被称为route path

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

标准URL方案如下所示,

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.