使用するメソッドは DELETE リクエストで、Web サービス呼び出し用の URL は次のとおりです。
http://www.localhost:9000/example/com/foo/bar
/foo と /bar を抽出して変数に格納したい。
誰もこれを行う方法を知っていますか? ありがとう!
Web サービスに play2-mini を使用し、http リクエストを作成するために scala にディスパッチを使用しています。
使用するメソッドは DELETE リクエストで、Web サービス呼び出し用の URL は次のとおりです。
http://www.localhost:9000/example/com/foo/bar
/foo と /bar を抽出して変数に格納したい。
誰もこれを行う方法を知っていますか? ありがとう!
Web サービスに play2-mini を使用し、http リクエストを作成するために scala にディスパッチを使用しています。
Playには、パラメーターを渡す非常に洗練された方法があり、それはルート定義を介して行われます。conf / Routesファイルで、次のようなルートを定義します
GET /example/com/:foo controllers.yourcontroller.deleteAction(foo: String)
あなたが入るとき
http://www.localhost:9000/example/com/user
ブラウザではdeleteAction
、コントローラによって定義されたものが呼び出され、パラメータで文字列「user」が渡されますfoo
。そこであなたはそれを操作することができます。URIの後にコロンが続く部分は動的であることに注意してください。文字列であるという要件を満たすものはすべて受け入れ、変数に格納することでdeleteActionに転送しfoo
ます。
次のコードに示すように、正規表現を使用できます。
object App extends Application {
def route = Routes(
Through("/people/(.*)".r) {groups: List[String] =>
Action{
val id :: Nil = groups
Ok(<h1>It works with regex!, id: {id}</h1>).as("text/html")
}
},
{
case GET(Path("/coco")) & QueryString(qs) => Action{ request =>
println(request.body)
println(play.api.Play.current)
val result = QueryString(qs,"foo").getOrElse("noh")
Ok(<h1>It works!, query String {result}</h1>).as("text/html") }
case GET(Path("/cocoa")) => Action{ request =>
Ok(<h1>It works with extractors!</h1>).as("text/html") }
},
Through("/flowers/id/") {groups: List[String] =>
Action{
val id :: Nil = groups
Ok(<h1>It works with simple startsWith! - id: {id}</h1>).as("text/html")
}
}
)
}