私はプレイにかなり慣れていません!フレームワーク(そして実際にはScala自体)ですが、(一般的な?)関数の実装で壁にぶつかったようです。私のコードは次のとおりです。
package controllers
import play.api._
import play.libs._
import play.api.mvc._
object Application extends Controller {
def jsonStringMap(str: String) =
util.parsing.json.JSON.parseFull(str) match {
case Some(m: Map[_,_]) => m collect {
// If this doesn't match, we'll just ignore the value
case (k: String, v: String) => (k,v)
} toMap
case _ => Map[String,String]()
}
def index = Action {
Ok(views.html.index("Your new application is ready."));
}
def view_mix(id: Int) = Action {
Ok("")
}
def view_popular = Action {
val whydoyouhateme: F.Promise[play.libs.WS.Response] = WS.url("http://8tracks.com/mixes/1002?format=json&api_key=10889794345788a1eee1110e06b5aa5405d76170").get()
Ok(whydoyouhateme.get().getBody())
}
}
気になる行 (val whydoyouhateme....) は、ロジックが機能する場合、ブラウザでhttp://8tracks.com/mixes/1002?format=json&api_key=10889794345788a1eee1110e06b5aa5405d76170を参照した場合と同じ結果を返すはずです。残念ながらそうではありません。http://8tracks.com/mixes/1002 (これは単なるリダイレクトです)にアクセスした場合に表示される内容が表示されます。
ここで何か不足していますか?別の場所で GET 変数を指定する必要がありますか? これには本当に頭がおかしくなり、Eclipse IDE は支援を提供するという点ではあまり役に立ちません (コード補完もまた失敗します)。
すべてのソリューションを受け入れます。必要に応じて、新しいライブラリを導入しても問題ありません。