Запрос JsonPath для уверенности - PullRequest
0 голосов
/ 26 апреля 2018

API URL: https://davids -restaurant.herokuapp.com / menu_items.json? Category = C

Я пытаюсь получить свойство name идентификатора 913 из приведенного выше остаткаAPI

Пожалуйста, найдите мой код ниже

String URL = "https://davids-restaurant.herokuapp.com/menu_items.json?category=C";
Response res = RestAssured.get(URL);
JsonPath jsonPathEvaluator = res.jsonPath();
System.out.println(jsonPathEvaluator.get("$..menu_items[?(@id == 913)].description"));

Сообщение об ошибке

java.lang.IllegalArgumentException: Invalid JSON expression:
Script1.groovy: 1: expecting EOF, found '[' @ line 1, column 40.
                            $..menu_items[?(@id == 913)].description


                        ^

Я попытался это работает, но я не хочу запрашивать с индексом, но я хочу запроситьс идентификатором

System.out.println(jsonPathEvaluator.get("menu_items[1].description"));

1 Ответ

0 голосов
/ 21 мая 2018

Вы можете использовать фильтры Groovy, чтобы получить результат.Посмотрите на этот код.

io.restassured.response Response;
// response= Get the API response
List<String> namesList = from(response.asString()).getList("menu_items.findAll { it.id == 913 }.name");

Здесь я создал список, но вы можете найти один элемент, используя 'item.find'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...