こんにちは、私はリフトに私のAPIについては、以下の使用しています:三つのパラメータのいずれかが、それは誤りを与える不足している場合どのようにAPIにPOSTパラメータを抽出するために - リフトフレームワーク
case "api" :: "all" :: _ Get req => for {
val after <- req.param("after")
val before <- req.param("before")
val limit <- req.param("limit")
} yield JsonResponse(json(ResponseLimitAfterBefore(limit.toInt,
after.toString,
before.toString)))
私の問題があります。パラメータが不足している場合は、どのように値を割り当てるのかを教えてください。たとえば、afterがURLにない場合、後でデフォルト値を割り当てるにはどうすればよいですか?
おかげで、あなたは内包のためのScalaの内どのように機能するかを理解していないと思われる場合は
パラメタの1つがURLにない場合、デフォルト値が必要なので後者は使用できません。しかし、最初の1つは、openOrがStringのメンバーではないというエラーが発生しています。行の後に.openOr( "defaultvalue")を指定します。 – Faran
必要なもの:req.param( "after")。openOr( "default") – timothy
[INFO] found:String [INFO] required:?{val flatMap:?} [INFO]暗黙的な変換は適用されません [INFO]両方のメソッドstrToSがオブジェクト型のJE(String)net.liftweb.http.js.JE.Str [INFO]およびメソッドstringWrapperがオブジェクトの型Predef(String)scala.runtimeにあります。リッチテキスト [INFO]は、Stringから?{val flatMap:?} [INFO] val < - req.param( "後")の変換関数に変換することができます。openOr( "IA175363") [INFO]^ [ERROR ] 1つのエラーが見つかりました [INFO] --------------------------------------- – Faran