Tôi đang đùa giỡn với việc xây dựng một ứng dụng đơn giản để làm ướt đôi chân của mình bằng Play! 2.0. Tôi muốn có thể phân phát tài nguyên của mình dưới dạng XML (nguồn cấp dữ liệu ATOM, thực sự) và JSON. Tôi biết làm thế nào để làm điều đó trong 1.2.x, nhưng cách đó dường như không làm việc với 2.0. Có ai biết làm thế nào để làm điều đó? Ví dụ sẽ được nhiều đánh giá cao.Cách phân phối XML và JSON bằng Play! 2.0
6
A
Trả lời
11
Đối với JSON tôi sẽ khuyên bạn nên nhìn vào câu hỏi này How to render JSON response in Play framework v2.0 (latest build from GIT)
XML là xa hơn đơn giản vì bạn chỉ có thể gọi trở lại kết quả với mã như thế này:
Ok(Xml(xmlString))
Nhưng cách sạch, để chơi bóng sử dụng chức năng này có lẽ để viết mẫu của riêng bạn dưới views/xml
như mdo.scala.xml
có thể
@(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>
Sau đó, trong điều khiển của bạn
def c = Action {
val o = MyDomainObject("mine", "for example", List("stack", "over", "flow"))
Ok(views.xml.mdo(o))
}
Nếu không, bạn có thể có chức năng tương tự như ToXml toJson với sự giúp đỡ của một thư viện marshaling
Các vấn đề liên quan
- 1. Cách xác định thẻ bằng Play 2.0?
- 2. Hiển thị JSON bằng Play! và Scala
- 3. Làm cách nào để phân phối các tệp đã tải lên trong Play! 2 bằng Scala?
- 4. JSON để ánh xạ [String, JsObject] với Play 2.0?
- 5. Cách gỡ lỗi kiểm tra bằng Play! 2.0
- 6. Cách tải xuống tệp bằng Play Framework 2.0
- 7. play-framework [2.0] HTTPS
- 8. Cách thiết lập PostgreSQL cho Play 2.0?
- 9. Phân tích XML vào JSON
- 10. Có thể phân phối lại JavaFX 2.0 không?
- 11. Scala Play Json Reads
- 12. Thêm Play 2.0 vào Intellij
- 13. Phân tích cú pháp JSON với .NET 2.0
- 14. Sử dụng CDN trên Play 2.0
- 15. Cách kiểm tra ứng dụng mẫu Zentasks từ Play 2.0
- 16. Chỉ định cổng Play 2.0 có "dist"
- 17. Cách tạo biến toàn cục với Play Framework 2.0
- 18. IDE cho khung công cụ Play 2.0 và Scala
- 19. Tương đương Play 2.0 của @Before và @After từ Play 1.2 là gì?
- 20. play framework 2.0 định tuyến ngược
- 21. Phân phối cấu hình git bằng mã
- 22. nhận phân phối lỗiNotFound
- 23. Thử nghiệm MultipartFormData trong Play 2.0 FakeRequest
- 24. Cách tải trọng từ POST trong Play 2.0
- 25. Làm thế nào để thay đổi cấu hình trong ứng dụng play framework phân phối
- 26. webpy: Cách phân phát JSON
- 27. Chuyển đổi XML sang JSON bằng R
- 28. Cách sử dụng OAuth 2 trong Play Framework 2.0
- 29. Session.id ở đâu trong Play 2.0?
- 30. Chơi Framework 2.0 BodyParser - đẩy phân tích cú pháp XML suối
tôi sẽ cung cấp cho bạn những dấu chọn, nhưng đây là một điều cần thiết bạn cần làm ngoài những gì bạn đã đề cập. Để hợp lệ, dòng đầu tiên của bạn phải giống như '@ (bài đăng: Seq [Đăng]) Xml version =" 1.0 "encoding =" utf-8 "?>'. Nếu bạn không làm điều đó, dòng đầu tiên của bạn sẽ không phải là một tuyên bố xml như nó nên. Lỗi? Có lẽ. – geowa4
KHÔNG có dòng này là bắt buộc! Tôi chỉ quên đề cập đến nó. Hãy để tôi thêm nó. Trên thực tế nó là một phần của đặc tả XML, dòng này luôn luôn được mã hóa trong UTF-8 và được sử dụng bởi các trình phân tích cú pháp để biết mã hóa nào được sử dụng trong tài liệu (và phiên bản XML, nhưng nó không được sử dụng nhiều lắm. ..) –
Sự cố vẫn tồn tại trong giải pháp của bạn. Dòng đầu tiên của XML được tạo của bạn thực sự trống. Bạn cần phải đặt tuyên bố ngay lập tức sau khi các tham số để chơi để làm cho nó đúng. Đó là một lỗi đối với tôi. – geowa4