Uruchomiłem małą aplikację ratpack w konsoli Groovy, ale nie mogłem wyłapać z dokumentacji, jak uzyskać dane json, które zostały wysłane w żądaniu.Parsowanie jsona w Ratpack Groovy
@Grab("io.ratpack:ratpack-groovy:0.9.4")
import static ratpack.groovy.Groovy.*
import groovy.json.JsonSlurper
ratpack {
handlers {
get {
def slurper = new JsonSlurper()
def result = slurper.parseText('{"person":{"name":"Guillaume","age":33,"pets":["dog","cat"]}}')
render "Hello world! ${result.person}"
}
post("foo") {
def slurper = new JsonSlurper()
def result = slurper.parseText("WHAT DO i PUT HERE?")
render "Hello world! ${result.person}"
}
}
}
i przykład wniosek:
curl -XPOST -H "Content-Type: application/json" -d '{"person":{"name":"Guillaume","age":33,"pets":["dog","cat"]}}' localhost:5050/foo
Spojrzałem na opakowanie szczurów, ponieważ wygląda na to, że może być świetną platformą do odpoczynku. Zważywszy na to, jaki byłby idiomatyczny sposób radzenia sobie z opublikowanymi danymi json w groovy? Robiąc to, co zrobiłem? – shmish111
zależy od implementacji. Tutaj użyłeś JsonSlurper do parsowania ładunku JSON, który można również wykonać za pomocą Gson lub dowolnej innej biblioteki JSON. W tym przypadku jest to całkowicie w porządku, jeśli chodzi o sposób, w jaki kończy się mapą ładunku. Rzuć okiem na [Ratpack API] (http://www.ratpack.io/manual/current/api/) głównie pakiet 'ratpack.jackson', jeśli będzie przydatny. @ shmish111 – dmahapatro