¡Estoy jugando con la construcción de una aplicación simple para mojarme los pies con Play! 2.0. Me gustaría poder servir mis recursos como XML (feed ATOM, realmente) y JSON. Sé cómo hacerlo en 1.2.x, pero de esa manera no parece funcionar con 2.0. Alguien sabe como hacerlo? Los ejemplos serían muy apreciados.Cómo servir XML y JSON con Play! 2.0
6
A
Respuesta
11
Para JSON le recomiendo que mirar a esta pregunta How to render JSON response in Play framework v2.0 (latest build from GIT)
XML es mucho más sencillo ya que sólo se puede llamar a devolver el resultado con código como este:
Ok(Xml(xmlString))
Pero la forma más limpia, fot el uso de esta funcionalidad es, probablemente, para escribir su propia plantilla en views/xml
como mdo.scala.xml
podría ser
@(mdo:MyDomainObject)
<?xml version="1.0" encoding="utf-8"?>
<MyDomainObject>
<name>@mdo.name</name>
<desc>@mdo.desc</desc>
<kws>
@mdo.keywords map { k=>
<kw>k</kw>
}
</kws>
</MyDomainObject>
Luego, en el controlador de
def c = Action {
val o = MyDomainObject("mine", "for example", List("stack", "over", "flow"))
Ok(views.xml.mdo(o))
}
De lo contrario, puede que tienen la función toXML similar a toJson con la ayuda de una biblioteca de cálculo de referencias
Cuestiones relacionadas
- 1. ¿Cómo hacer un binario con play 2.0?
- 2. JSON para asignar [String, JsObject] con Play 2.0?
- 3. webpy: Cómo servir JSON
- 4. ¿Puedo servir RSS en JSON?
- 5. Uso de Eclipse con Play Framework 2.0
- 6. Gestión de dependencias con aplicaciones Play 2.0
- 7. ¿Cómo servir archivos cargados en Play! 2 usando Scala?
- 8. play-framework [2.0] HTTPS
- 9. Juego 2.0 + Java vs. Play 2.0 + Scala?
- 10. Configuración de la aplicación Play 2.0 con IDEA y SBT
- 11. Dependencias de Play 2.0 y SNAPSHOT
- 12. Play 2.0 Captcha
- 13. Cómo contribuir módulos en Play Framework 2.0?
- 14. Play Framework 2.0: Formateadores personalizados
- 15. Parse json con gwt 2.0
- 16. ¿Cómo configurar PostgreSQL para Play 2.0?
- 17. URL localizadas en Play 2.0?
- 18. Cómo crear una variable global con Play Framework 2.0
- 19. ¿Cómo uso Play Framework 2.0 en netbeans
- 20. ¿Cómo uso Sinatra para servir documentos XML?
- 21. play framework 2.0 error de consola
- 22. Play 2.0 Framework, utilizando un BodyParser con una solicitud autenticada
- 23. ¿Qué son los equivalentes de Play 2.0 de @Before y @ After de Play 1.2?
- 24. base de datos mongodb con Java play 2.0
- 25. Usos de CDN en Play 2.0
- 26. XML a JSON con Scala
- 27. ¿Cómo funcionan SOAP y REST con la respuesta XML/JSON?
- 28. Play Framework 2.0 - ¿Dónde está jsAction?
- 29. Cron Job in play framework 2.0
- 30. ¿Es posible utilizar @PrePersist y @PreUpdate con eBean y Play! 2.0?
Te daré la marca de verificación, pero aquí es una cosa necesaria que necesita para hacer además de lo que has mencionado. Para que sea válida, su primera línea debe ser algo así como '@ (posts: Seq [Post]) Xml version =" 1.0 "encoding =" utf-8 "?>'. Si no lo hace, su primera línea no será una declaración xml como debería. ¿Error? Probablemente. – geowa4
¡NO esta línea es obligatoria! Me olvidé de mencionarlo. Déjame agregarlo. En realidad, es parte de la especificación XML, esta línea siempre está codificada en UTF-8 y es utilizada por los analizadores para saber qué codificación se usa en el documento (y la versión XML, pero en realidad no se usa tanto). ..) –
El problema todavía existe en su solución. La primera línea de su XML generado está realmente vacía. Debe colocar la declaración inmediatamente después de los parámetros para reproducir para que sea correcta. Eso es un error para mí. – geowa4