Próbuję zaimplementować interfejs REST API z Play 2.0 (Scala), ale utknąłem w metodzie POST. Jak uzyskać ładunek z obiektu żądania? Nie znalazłem żadnej dokumentacji na ten temat i nie byłem w stanie zrozumieć kodu źródłowego.Jak uzyskać ładunek z testu POST w wersji Play 2.0
Odpowiedz
Powinieneś być w stanie wykonać następujące czynności:
def index = Action { request =>
val body = request.body
}
a także takie rzeczy jak:
def index = Action { request =>
val name = request.queryString.get("name").flatMap(_.headOption)
Ok("Hello " + name.getOrElse("Guest"))
}
Dzięki, działa! Umieściłem 'println (request.body)' i otrzymuję takie rzeczy jak AnyContent (Map (body -> WrappedArray (pepe), pepe -> WrappedArray (null))), które wygląda na dobry początek . – jglatre
musiałem zrobić to nieco inaczej (może jestem na nowszą wersję codebase):
mój javascript:
$(document).ready(function(){
$.post("/ping", {one: "one", two: "two" },
function(data){
console.log(data); //returns {"one":"one","two":"two"}
})
});
moja droga:
POST /ping controllers.Application.ping()
Moja metoda kontroler:
def ping() = Action{ request =>
val map : Map[String,Seq[String]] = request.body.asFormUrlEncoded.getOrElse(Map())
val one : Seq[String] = map.getOrElse("one", List[String]())
val two : Seq[String] = map.getOrElse("two", List[String]())
Ok(
toJson(JsObject(List("one"->JsString(one.first), "two"->JsString(two.first))))
)
}
Zakładam ten zmieni się w ostatecznej wersji.
spojrzeć this article na playlatam
również sprawdzić this question na liście google
for Java (z nazwami param java_name):
String name = request().body().asFormUrlEncoded().get("java_name")[0];
do Scala (z nazwami param scala_name):
def name = request.body.asFormUrlEncoded.get("scala_name")(0)
Dzięki za linki! – jglatre
H Oto, co zrobiłem.
val map : Map[String,Seq[String]] = request.body
val seq1 : Seq[String] = map.getOrElse("socket_id", Seq[String]())
val seq2 : Seq[String] = map.getOrElse("channel_name", Seq[String]())
val socketId = seq1.head
val channelName = seq2.head
- 1. Jak uzyskać rozmiar żądania w Play 2.0.x?
- 2. Brakujące polecenie "debugowanie" z wersji Play 2.0 zainstalowane z Typesafe
- 3. Play 2.0 Captcha
- 4. Uruchamianie zmian w Play Framework 2.0
- 5. Wykorzystanie CDN w Play 2.0
- 6. Jak poprawić szybkość kompilacji Play Framework 2.0
- 7. Określanie portu Play 2.0 z "dist"
- 8. Play 2.0 Konfiguracja FakeApplication z konfiguracją testową
- 9. Jak programowo zaktualizować Play.configuration w Play 2.0?
- 10. Escape string JavaScript w widoku Play 2.0?
- 11. Jak zintegrować GWT lub Vaadin z Play Framework 2.0
- 12. Jak skonfigurować PostgreSQL dla Play 2.0?
- 13. odgałęzienie gry play 2.0 odwzorowanie
- 14. Jak wdrożyć aplikację Play 2.0 na Debianie?
- 15. baza danych mongodb z Java play 2.0
- 16. Play Framework 2.0: Niestandardowe formatery
- 17. Co to są odpowiedniki Play 2.0 z @ Before i @After z Play 1.2?
- 18. Jak dokładnie działają konsole Play 2.0/Async?
- 19. Grupowanie odsłon Play 2.0 w pakietach/folderach
- 20. Jak skonfigurować różne bazy danych dla środowiska w wersji Play 2.0?
- 21. Jak przetestować przykładową aplikację Zentasks od Play 2.0
- 22. Ustawianie nagłówków HTTP w Play 2.0 (scala)?
- 23. Jak uzyskać numer wersji F #?
- 24. Zlokalizowane adresy URL w Play 2.0?
- 25. Jak uzyskać wartości POST w perlu
- 26. Gdzie jest wsparcie pracy w Play 2.0?
- 27. Zarządzanie zależnościami za pomocą aplikacji Play 2.0
- 28. Jak wysłać dane POST z kodem w internetowej wersji Androida
- 29. Zagraj 2.0 Framework - parametry POST
- 30. Jak uzyskać adres IP klienta w grze! framework 2.0?
Dostęp ten facet post przez wiązanie URL do czasownika HTTP i jest wtedy w stanie uzyskać dostęp do swojego obiektu bezpośrednio: http://www.jamesward.com/2011/12/11/tutorial-play-framework- jpa-json-jquery-heroku –
@ user309483 W tej chwili nie potrzebuję żadnego niejawnego powiązania z ładunkiem do fasoli, w każdym razie, dzięki za link, może być użyteczny :) – jglatre