Ich schreibe einen Rauch-Test mit Ruhe und möchte die API durchlaufen, um sicherzustellen, dass keine unerwarteten Fehler auftreten.RestAssured JsonPath: flaches Array von Elementen in der Hierarchie
Ich habe eine Datenstruktur, die wie folgt aussieht:
{
...
"sites": [
{
...
"groups": [
{
...
"locations": [
{
...
"racks": [
{
"rackId": 123456789,
...
},
{
"rackId": 987654321,
...
},
...
]
}
]
}
]
},
{
...
"groups": [
{
...
"locations": [
{
...
"racks": [
{
"rackId": 11111111,
...
},
{
"rackId": 22222222,
...
},
...
]
}
]
}
]
},
...
]
}
Verwenden JsonPath in RestAssured gebündelt Ich versuche, eine einfache Liste aller rackIds erhalten dann für diese rackIds nachfolgende Anforderungen zu nennen.
jsonPath.getList("sites.groups.locations.racks.rackId", Long.class);
>> java.lang.NumberFormatException: For input string: "[[[406071537, 406071538, 406071539, 406071540, 406071541]]]"
Ich habe versucht, diesen Weg mit, aber hat nicht funktioniert, weil ich diese Syntax glauben funktioniert nur mit der anderen JsonPath Implementierung, nicht derjenige, gebündelt mit dem Rest sicher
"$.sites[*].groups[*].locations[*].racks[*].rackId"
jetzt kam ich nach unten Dazu gibt es Listen mit Listen von Listen, die ich dann selbst abändern könnte. Aber ich habe dann das Problem, dass die Zahlen standardmäßig als Ganzzahlen interpretiert werden, aber ich empfange lange Werte.
List list = jsonPath.getList("sites.groups.locations.racks.rackId");
Irgendwelche Ideen?