Я потратил много времени на изучение JsonPath с использованием версии Jayways, мой запрос следующий:
$.items[?(@.To[0].Mailbox == 'foobar')]..Body
Однако, это не работает с Rest-Assured, при выполнении мне показываютследующая ошибка:
java.lang.IllegalArgumentException: Invalid JSON expression:
Script1.groovy: 1: expecting EOF, found '[' @ line 1, column 34.
$.items[?(@.To[0].Mailbox == 'foobar')]..Body
Нужно ли переписать это выражение в формате GPath
?если так, то как бы это выглядело?или я могу каким-то образом заставить Rest-Assured использовать это предпочтительное выражение JsonPath?
- это небольшой [WIP] фрагмент кода на данный момент, просто пытаюсь заставить выражение работать, затем яисправит метод правильно:
public String readInbox(String emailAddress) {
Response response = given().log().all().when().get(MESSAGES_ENDPOINT);
JsonPath jsonPath = new JsonPath(response.asString());
String emailAddress = jsonPath.getString("$.items[?(@.To[0].Mailbox == 'foobar')]..Body");
System.out.println(accountVerificationEmailHyperlinkByEmailAddress);
return "";
}