Робота з веб-даними є неодмінною частиною багатьох сучасних веб-застосунків. Одним із способів покращення функціональності застосунку є інтеграція зовнішніх API для збору даних, які потім можна зберігати та обробляти в локальній базі даних. Spring Boot є одним із найпопулярніших інструментів для створення веб-та мікросервісних застосунків у світі Java, завдяки своїй гнучкості та великій кількості готових до використання рішень. MySQL, у свою чергу, є відкритою та широко використовуваною системою управління базами даних. Ця стаття розкриває процес інтеграції Spring Boot застосунку з базою даних MySQL для збереження даних, отриманих з зовнішнього API.
Спочатку розглянемо типову ситуацію: маємо застосунок на Spring Boot, який викликає зовнішнє API для отримання даних про напої з сайту https://www.thecocktaildb.com. Ці дані потрібно зберегти у локальній базі даних MySQL. Під час реалізації цього функціоналу виникли труднощі: після внесення змін для збереження даних програма перестала повертати результати, викликаючи помилку 500, а також створює порожню таблицю в базі даних MySQL.
Перш за все, необхідно визначити модель даних, яка буде відображати структуру даних, отриманих з API. Припустимо, ми отримуємо інформацію про напої, яка включає ідентифікатор, назву, тип склянки, інструкції, посилання на зображення та інгредієнти. Ось приклад простої моделі на Java, яка може представляти такий напій:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
@Entity @Table(name="drink") public class Drink { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name="name") private String name; @Column(name="glass") private String glass; @Column(name="instructions") private String instructions; @Column(name="image") private String image; // Припустимо, що обмежимося одним інгредієнтом для спрощення @Column(name="ingredient") private String ingredient; // Конструктори, гетери та сетери } |
Ця модель відображає основну структуру таблиці у базі даних MySQL, де кожен напій буде мати унікальний ідентифікатор, назву, тип склянки, інструкції для приготування, посилання на зображення та інгредієнти.
Для збереження даних у базі даних MySQL, необхідно правильно налаштувати з’єднання між Spring Boot застосунком та базою даних. Це робиться шляхом внесення відповідних параметрів у файл application.properties
або application.yml