Ich las die Finatra Einstiegsanleitung und ich konnte den HelloWorld Service und seinen Feature Test schreiben.Finatra FeatureTests: Wie man die zurückgegebene JSON manuell deserialisiert
Derzeit mein Feature-Test sieht aus wie
server.httpPost(
path = "/hi",
postBody = """{"name": "Foo", "dob": 136190040000}""",
andExpect = Ok,
withBody = """{"msg":"Hello Foo. You are 15780 days old today"}""")
Dies funktioniert gut, und meine Tests bestehen. Meine Anforderung ist jedoch, dass ich das vom Server zurückgegebene JSON entpacke und dann die Assets für das zurückgegebene Objekt manuell durchführe.
änderte ich meinen Code
val response = server.httpPost(
path = "/hi",
postBody = """{"name": "Abhishek", "dob": 136190040000}""",
andExpect = Ok,
withBody = """{"msg":"Hello Abhishek. You are 15780 days old today"}""")
val json = response.contentString
Dies funktioniert auch und ich kann die json kehrte Seite die Variable json sehen.
Meine Frage ist, dass wenn ich dieses JSON in ein Objekt deserialisieren muss. Soll ich einfach eine beliebige json-Bibliothek wie circe einbinden? und dann das Objekt deserialisieren?
oder kann ich das Jackson-Framework verwenden, das in Finatra kommt.
In allen Beispielen, die ich finden konnte, sehe ich, dass Finatra "automatisch" die json Serialisierung und Deserialisierung handhabt. Aber in meinem Fall möchte ich das manuell durchführen.