Finatra 入門ガイドを読み、HelloWorld サービスとその機能テストを作成することができました。
現在、私の機能テストは次のようになっています
server.httpPost(
path = "/hi",
postBody = """{"name": "Foo", "dob": 136190040000}""",
andExpect = Ok,
withBody = """{"msg":"Hello Foo. You are 15780 days old today"}""")
これは正常に機能し、私のテストはパスします。ただし、私の要件は、サーバーから返された json を抽出し、返されたオブジェクトに対して手動でアサートを実行することです。
コードを次のように変更しました
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
これも機能し、変数 json の横に返された json を確認できます。
私の質問は、このjsonをオブジェクトに逆シリアル化する必要があるかどうかです。circe のような json ライブラリを取り込めばいいのでしょうか? オブジェクトを逆シリアル化しますか?
または、Finatra の内部にある jackson フレームワークを使用できますか。
私が見つけたすべての例で、Finatra が json のシリアル化と逆シリアル化を「自動的に」処理していることがわかります。しかし、私の場合、これを手動で実行したいと考えています。