1 of 56

1

LVIV STATE UNIVERSITY OF LIFE SAFETY

THE STATE EMERGENCY SERVICE OF

UKRAINE

ЛЕКЦІЯ №22. ПОВТОРЕННЯ ВИВЧЕНОГО ЗА КУРС

2 of 56

2

ПЛАН

  • Stream API. Lambda
  • Annotations
  • Spring framework

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

3 of 56

3

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Stream API. Lambda

4 of 56

СТАНОМ НА 01.02.2023

Лямбда-вирази в Java. Функціональне програмування

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

ООП vs

Функціональне програмування

Об'єктно-орієнтоване програмування (ООП) розглядає програму як множину об'єктів, що мають свій стан (поля) і поведінку (методи). Взаємодія між об'єктами є ключовою характеристикою цієї парадигми.

Функціональне програмування (ФП) базується на роботі з функціями як першокласними об'єктами. Тобто, функції можуть передаватися як аргументи, повертатися як значення й існувати незалежно від стану об'єктів.

У класичному ФП функції є математичними виразами: вони отримують вхідні дані й повертають результат без побічних ефектів.

5 of 56

СТАНОМ НА 01.02.2023

Лямбда-вирази в Java. Функціональне програмування

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Java не є чисто функціональною мовою, оскільки:

  • Вона підтримує винятки (try-catch може змінити виконання програми).
  • Використовує null, що порушує чесність сигнатури функцій.
  • Об’єкти мають змінний стан.

Проте Java дозволяє застосовувати функціональний стиль через лямбда-вирази та Stream API.

6 of 56

СТАНОМ НА 01.02.2023

Лямбда-вирази в Java. Функціональне програмування

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Лямбда-вирази в Java — це короткий спосіб написати анонімний (безіменний) метод прямо в коді. Вони дозволяють писати більш компактний і зрозумілий код, особливо коли працюєш з функціональними інтерфейсами (інтерфейси з єдиним методом).

Простий приклад

Уявімо, що нам треба створити анонімний метод, який приймає число та повертає його подвоєне значення.

Раніше в Java це робили так:

Анонімний клас — це клас без імені, який оголошується і створюється одночасно. Він часто використовується для створення екземплярів інтерфейсів або абстрактних класів без необхідності створювати окремий клас.

7 of 56

СТАНОМ НА 01.02.2023

Лямбда-вирази в Java. Функціональне програмування

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Тут ми створили анонімний клас, що виглядає громіздко.

З лямбда-виразами цей код виглядає набагато простіше:

8 of 56

СТАНОМ НА 01.02.2023

Лямбда-вирази в Java. Функціональне програмування

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Як це працює?

  1. x -> x * 2 — це лямбда-вираз.
    1. x — параметр методу.
    2. -> — вказує, що це лямбда-функція.
    3. x * 2 — тіло функції, що повертає результат.
  2. Ми передали цей вираз у змінну doubleNumber, яка реалізує інтерфейс DoubleNumber.

9 of 56

СТАНОМ НА 01.02.2023

Лямбда-вирази в Java. Функціональне програмування

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Лямбда-вирази — це анонімні функції, що дозволяють передавати поведінку як параметр.

10 of 56

СТАНОМ НА 01.02.2023

Лямбда-вирази в Java. Функціональне програмування

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

УВАГА!!!

11 of 56

СТАНОМ НА 01.02.2023

Лямбда-вирази в Java. Функціональне програмування

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Інструкція invocedynamic (оскільки як такої лямбди не було, до 8-ї java, то насправді при виклику лямбди компілятор перетворює її на приватний метод і обробляє за допомогою інструкції invocedynamic)

12 of 56

12

СТАНОМ НА 01.02.2023

Вступ до Stream API.

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Streams - це потужний інструмент в Java 8 і пізніших версіях, який дозволяє обробляти колекції даних (списки, множини тощо) в декларативному стилі, тобто, описуючи "що" потрібно зробити, а не "як".

13 of 56

13

СТАНОМ НА 01.02.2023

Вступ до Stream API.

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Стріми & Колекції

Не є сховищем даних

(Not Data Storage)�Потоки не зберігають дані самі по собі, вони лише обробляють їх на льоту.

Функціональний характер (Functional Character)�Потоки підтримують функціональне програмування через лямбда-вирази та методи, такі як map(), filter(), reduce().

Відкладене виконання (Execution Delay)�Операції на потоках виконуються лише тоді, коли вони необхідні (наприклад, при виклику collect()). Це дозволяє оптимізувати роботу.

Внутрішній ітератор (Internal Iterator)�Потоки використовують внутрішню ітерацію, що покращує продуктивність, оскільки система самостійно керує процесом.

Необмеженість

(Stream Unlimited)�Потоки можуть бути нескінченними, оскільки вони працюють із потоками даних, що можуть генеруватися на вимогу.

14 of 56

14

СТАНОМ НА 01.02.2023

Вступ до Stream API.

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Це зображення ілюструє процес обробки колекції за допомогою Java Stream API, використовуючи фільтрацію.

Початкова колекція (Collection<Color>)

  • Є набір квадратів різних кольорів (червоні, жовті тощо).
  • Ця колекція перетворюється у потік (Stream<Color>), що дозволяє працювати з елементами функціональним способом.

Фільтрація (Predicate<Color> isRed?)

  • Для кожного елемента перевіряється, чи він червоного кольору (isRed?).
  • Це реалізується через Predicate, який повертає true, якщо колір червоний, і false, якщо ні.

Групування (Map<Boolean, Color>)

Потік поділяється на дві групи:

    • true — містить лише червоні квадрати.
    • false — містить квадрати всіх інших кольорів.

15 of 56

15

СТАНОМ НА 01.02.2023

Вступ до Stream API.

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Проміжні та термінальні операції

Ці операції отримують дані з потоку і створюють новий потік, в який повертають результат своєї роботи. Вони працюють як конструктори.

Наприклад: фільтрація, сортування, перетворення тощо.

Ці операції отримують дані з потоку і повертають інший об'єкт, такий як колекція, примітивні значення, об'єкти, Optional тощо.

Наприклад: збір/згортання даних, підрахунок тощо.

16 of 56

16

СТАНОМ НА 01.02.2023

Вступ до Stream API.

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Проміжні та термінальні операції

Потік не починає виконуватися, доки не буде визначено термінальну операцію!!!

17 of 56

17

СТАНОМ НА 01.02.2023

Вступ до Stream API.

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Проміжні та термінальні операції

18 of 56

18

СТАНОМ НА 01.02.2023

Вступ до Stream API.

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Розглянемо приклад коду, який обробляє набір транзакцій у двох версіях: класично через колекції та потоки.

Зі списку необхідно вибрати ті операції, які відповідають певному типу.

Потім потрібно відсортувати вибрані транзакції в порядку спадання певної вартості.

Вивести їх по id.

Клас інкапсулює три поля з незмінними даними:

  • id— номер операції
  • type— тип транзакції
  • value— вартість угоди

А List transactions також визначено, що містить кілька екземплярів класу Transaction.

19 of 56

19

СТАНОМ НА 01.02.2023

Вступ до Stream API.

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Зі списку необхідно вибрати ті операції, які відповідають певному типу.

Потім потрібно відсортувати вибрані транзакції в порядку спадання певної вартості.

20 of 56

20

СТАНОМ НА 01.02.2023

Клас Optional

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Іноді програмістам дуже незручно працювати з посиланнями на null. Приміром, ви порівнюєте два рядки. Якщо обидві змінні не null, тоді можна просто викликати s1.equals(s2), і все працюватиме. А от якщо s1 може бути null, доведеться писати код, який враховує цю ситуацію, щоб не виник NullPointerException.

21 of 56

21

СТАНОМ НА 01.02.2023

Клас Optional

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Метод Optional<T> findFirst()

Метод findFirst() просто повертає перший елемент із потоку, і все — на цьому його робота завершується.

Цікаво, що метод повертає не об'єкт типу T, а обгортку над ним — об'єкт типу Optional<T>. Це зроблено для того, щоб ніколи не стикатися із ситуацією, коли метод не знаходить об'єкт і повертає null.

22 of 56

22

СТАНОМ НА 01.02.2023

Клас Optional

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Метод Optional<T> findAny()

Метод findAny() повертає будь-який елемент з потоку й на цьому завершується. Цей метод — аналог методу findFirst(), тільки для потоків, які обробляються паралельно.

Під час паралельної обробки потоків може трапитися така ситуація, що в якійсь частині потоку елемент уже знайдено, але поки ще не зрозуміло, буде він першим чи ні.

Метод Optional<T> min(Comparator<T>)

Метод min() порівнює всі елементи потоку за допомогою об'єкта comparator і повертає мінімальний елемент. Найзручніше задати об'єкт-компаратор за допомогою лямбда-функції.

23 of 56

23

СТАНОМ НА 01.02.2023

Клас Optional

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Метод Optional<T> max(Comparator<T>)

Метод max() порівнює всі елементи потоку за допомогою об'єкта comparator і повертає максимальний елемент. Найзручніше задати об'єкт-компаратор за допомогою лямбда-функції.

24 of 56

24

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Annotations

25 of 56

25

СТАНОМ НА 01.02.2023

Анотації (@interface) в java

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Анотації в Java – це спеціальні мета-дані, які додаються до коду (класів, методів, змінних, параметрів тощо) та використовуються під час компіляції або виконання програми.

Вони не впливають на саму логіку виконання, але можуть бути корисними для автоматичної генерації коду, конфігурації програмних компонентів і перевірки правильності написаного коду.

  1. Контроль коду

Наприклад, @Override допомагає перевірити, чи метод справді перевизначає метод із батьківського класу.

  • Документування коду

Анотація @Deprecated вказує, що метод або клас більше не рекомендовано використовувати, що допомагає розробникам уникати застарілих рішень.

  1. Конфігурація у фреймворках

У Spring анотації (@Service, @Component, @Autowired) використовуються для автоматичного налаштування об’єктів.

  • Тестування

У JUnit анотації (@Test) визначають тестові методи, що значно спрощує процес тестування.

Приклади використання анотацій

26 of 56

26

СТАНОМ НА 01.02.2023

Анотації (@interface) в java

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Lombok – бібліотека, яка дозволяє значно спростити код, автоматично генеруючи гетери, сетери, конструктори, toString(), equals(), hashCode() та інші методи за допомогою анотацій.

27 of 56

27

СТАНОМ НА 01.02.2023

Анотації (@interface) в java

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Основні анотації Lombok

28 of 56

28

СТАНОМ НА 01.02.2023

Анотації (@interface) в java

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

29 of 56

29

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Spring framework

30 of 56

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Spring framework

31 of 56

Налаштування Spring-проєкту

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

32 of 56

32

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

JPA. Hibernate

33 of 56

33

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

JPA. Hibernate

34 of 56

34

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

JPA. Hibernate

35 of 56

35

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

JPA. Hibernate

36 of 56

36

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

JPA. Hibernate

37 of 56

37

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

application.properties

38 of 56

38

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

application.properties

39 of 56

39

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

application.properties

40 of 56

40

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

application.properties

41 of 56

41

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Тестування REST-контролерів черезPostman

42 of 56

42

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

43 of 56

43

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

44 of 56

44

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

45 of 56

45

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

46 of 56

46

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

47 of 56

47

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

48 of 56

48

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

49 of 56

49

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

Додавання нового студента. Метод POST

Анотація @RequestBody в Spring використовується для прив'язки тіла HTTP-запиту до параметра методу контролера. Вона зазвичай застосовується у REST-контролерах для отримання JSON або XML-даних, які надсилаються з клієнтської частини (наприклад, з фронтенду або через Postman).

50 of 56

50

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

51 of 56

51

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

Оновлення даних студента. Метод PUT

Анотація @PathVariable в Spring використовується для отримання значень змінних прямо з URL-шляху. Це дуже зручно при створенні RESTful сервісів, де параметри передаються в самому шляху запиту.

52 of 56

52

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

53 of 56

53

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

Отримання студента по id. Метод GET

54 of 56

54

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

55 of 56

55

СТАНОМ НА 01.02.2023

THE STATE EMERGENCY SERVICEOF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

STATE SERVICE OF EMERGENCY SITUATIONS IN UKRAINE

THE STATE EMERGENCY SERVICE OF UKRAINE

LVIV STATE UNIVERSITY OF LIFE SAFETY

Postman

56 of 56

56