2016-05-06 10 views
0

私のアプリケーションでは、GETメソッドを使用してList[String]をWS APIに渡す必要があります。 withQueryStringを使用しようとしましたが、queryStringのデータを渡すことができません。コントローラにリストデータを渡すには?どのようにデータを処理するのですか?Playframework:Scala GETメソッドを使用したWS APIへの文字列の受け渡し

GET /route MyController.someMethod(ids: List[String]) 

と同様に、WSの呼び出しを介して、他のアプリからそれを呼び出す:

val ids = List("1", "3", "99") 
val idsTuples = ids map (id => "ids" -> id) 
ws.url(url).withQueryString(idsTuples: _*).get() 

私が正しく質問を解読した場合

+0

何をしようとしていますか?サードパーティサービスへのHTTPリクエスト、またはあなたのコントローラーでList [String]以上のものを受け取ろうとしていますか?あなたはGETリクエストの様子を見せてもらえますか(おそらく['curl'](https://curl.haxx.se/)を使って)? – marcospereira

+0

私のコントローラでリスト[文字列]を受け取る必要があります。サードパーティのAPIサービスではありません – kittu

+1

http://stackoverflow.com/questions/35814866/have-a-list-in-play-framework-web-service-parametersを参照してください。 http://stackoverflow.com/questions/37031630/scala-play-squeryl-retrieve-multiple-params/37040324#37040324 – marcospereira

答えて

0

は、あなたは次のように、あなたのコントローラでList[String]を受信したいですthisも参照してください。 ます。またidsTuples: _*前に、より多くのパラメータを追加し、あるいは単にidsTuples(String, String)タプルを追加することができます...

EDIT:私は...間違っていた私の記憶から最初のバージョンを書いた:)

+0

私はすでにこれを試しましたが、Seq(文字列、リスト[文字列])ではな​​いSeq(文字列、文字列)が必要なクエリーステートメントでエラーを投げています – kittu

+0

私はそれを今修正しました。 ) '(String、String)'なので、 'List [(String、String)]'を持っていれば ':_ *'マジックを使ってvarargsのように渡すことができます。 –

関連する問題