POJO がありますArtwork
。RESTful Web サービスから HTTP 応答本文の JSON 形式でそれらのオブジェクトを取得していますList
。返されたリストを分析する Rest Assured ベースのテストを記述しようとしています。コードは次のようになります。
Response response = get("/artwork");
List returnedArtworks = response.getBody().as(List.class)
問題は、返された JSON を Rest Assured で として解析できないことですList<Artwork>
。代わりに、 が返されますList<LinkedHashMap>
。マップには適切な構造があり、つまり Jackson によってArtwork
オブジェクトにマップできますが、手動でマップすることは避けたいと思います。
私のモデル内の JSON マッピングは、次のように単一のオブジェクトをマッピングすると、問題ありません。
Artwork returnedArtwork = response.getBody().as(Artwork.class);
正常に動作します。
returnedArtworks
として入手することは可能ですかList<Artwork>
?
ベストアンサー1
あなたはこれを行うことができます:
List<Artwork> returnedArtworks = Arrays.asList(response.getBody().as(Artwork[].class));
秘訣は、JSON をオブジェクトの配列に逆シリアル化し (配列またはリストの JSON 文字列に違いがないため)、次に配列をリストに変換することです。