0

REST 要求で送信されたパラメーターを調べたいだけです。S.param("paramName")、 または などのメソッドを見てきS.params("??")ましたが、すべてのパラメーターを表示したいだけです。どうすればいいですか?

ここでチェックしました: http://simply.liftweb.net/index-Chapter-11.html、および多くの SO スレッドもありますが、特定のパラメーターを取得する方法しか見つかりません。

編集機能しない提案をコードに追加する

Edit2問題が見つかりました。リクエストの戻り値をコメントアウトしました:)

私の現在のコード:

object WebserviceHandler extends RestHelper {

    serve {
      case "somePath" :: Nil JsonPost _ =>

      //1st try
      for(s <- S.request; r <- s.params) { //compiler error: "could not find implicit value for parameter c: (Unit) => net.liftweb.http.LiftResponse"
        val (paramName:String, paramVals:List[String]) = r
      }

      //2nd try
      S.request.foreach(x => 
        x.paramNames.foreach(p => 
          println(p) //compiler error: "scala is not an enclosing class" 
        ) 
      );


      //Extraction.decompose(someList) //<--- Problem- this line was commented 

      //...
    }
}

前もって感謝します。

4

1 に答える 1

1

Req オブジェクトを介してアクセスできます。以下のコードはすべての値を反復処理し、必要なことを行うことができます。

for(s <- S.request; r <- s.params) {
    val (paramName:String, paramVals:List[String]) = r
}

パラメータ名だけが必要な場合は、s.paramNames代わりに使用できますs.params

完全な API ドキュメントはこちら: http://scala-tools.org/mvnsites/liftweb/lift-webkit/scaladocs/net/liftweb/http/Req.html

于 2012-12-24T18:23:32.990 に答える