Czas na zadanie, w którym będzie po trochu wszystkiego w tym żądania w pętli, czyli użycie listy do wykonania podobnego żądania na wszystkich jej elementach.
Dokumentacja do sklepu
Po poprawnym postawieniu aplikacji dokumentację do niej znajdziesz pod localhost/fakestore/dokumentacja/. Tam też znajdziesz np. klucze potrzebne do uwierzytelnienia.
Wersja Javy
W zależności od tego której wersji Javy używasz, mogą się pojawić drobne rozbieżności w sytuacji, w których pobieramy jakąś informację z odpowiedzi metodą get(), a następnie ją „wypluwamy” w konsoli metodą println, np.:
System.out.println(response.jsonPath().get("name"));
Jeżeli nie zadziała Ci to, co pokazuję (będzie się podkreślało na czerwono i po najechaniu zobaczysz „Ambiguous method call”) możesz zamiast get() użyć metody getString():
System.out.println(response.jsonPath().getString("name"));
Zadanie: żądania w pętli
Polecenie
Rozwiązanie
- Pobrać listę (czyli GET, który robiliśmy już wiele razy). Pamiętajcie, że nasze API domyślnie zwraca 10 obiektów, więc trzeba dodać parametr, by zwróciła więcej.
- Stworzyć listę id (kłania się poprzednia lekcja z JSON!)
- Przeiterujemy się przez wszystkie id w stworzonej wcześniej liście i spróbujemy pobrać elementy o podanym id.
Problem z tym kodzikiem jest taki, że gdybyśmy mieli wolno działający system, albo bardzo dużo obiektów, to nie wiemy co się dzieje i bardzo długo po prostu nie zobaczymy czy kolejne requesty są wysyłane i sprawdzane. Dlatego dodaję “logowanie” i wypisywanie który z ilu obiektów jest właśnie testowany i jak się nazywa.
Przy okazji pewnie zauważycie, że pierwsze zwracane obiekty, to te stworzone jako ostatnie (czyli kolejka FILO – First In Last Out) – przynajmniej w przypadku domyślnego sposobu listowania.
Jeśli udało się Wam osiągnąć to samo, ale z zupełnie innej strony, to pochwalcie się w komentarzach!
Komentarze
Nie masz aktywnej subskrypcji. Wykup subskrypcję albo zaloguj się, by móc komentować.