2017-12-18 10 views
0

私は真ん中にparamでエンドポイントを定義しようとしています。似フィンチ:どのように私は真ん中にparamとエンドポイントを定義することができます

何か:

のget( "foo" という::のparam( "ID"):: "グー")

ので、私は次のREST呼び出しでそれを呼び出すことができます。

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

しかし、何らかの理由で、それは動作しません。

ありがとう、 Eran。

+2

それが有効なURLパターンではありませんので、それは動作しません。詳細については、https://en.wikipedia.org/wiki/URLをご覧ください。 '?abc = 11&xyz = ijk'のような'? 'の後のものはクエリパラメータと呼ばれ、URLの末尾にしか現れません。 –

答えて

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

関連する問題