Работа с API REST и обработка ответов от них в Java может быть сложной задачей для разработчиков, которые не очень хорошо знакомы с языком. В этом уроке мы проясним процесс, лежащий в основе анализа ответов API в Java. Мы будем работать с Spring — фреймворк для создания Java-приложений.
Инструменты, которые вам понадобятся
Java Development Kit (JDK) : Среда разработки программного обеспечения, используемая для разработки приложений Java. (На момент написания статьи JDK 8 наиболее совместим с этим руководством).
Maven : Инструмент автоматизации сборки, используемый в проектах Java. (На момент написания этой статьи версия 3.2 наиболее совместима с этим руководством).
Инициализация пружины : Приложение, которое создает базовую структуру проекта Spring.
Инициализация Java-приложения с помощью Spring
Первый шаг к началу работы – начать новый проект с Spring. Вы можете сделать это, перейдя в веб-приложение Spring Initializers и запустив новый проект, используя конфигурации, указанные ниже:
# Project - Maven Project # Language - Java # Spring Boot Version - 2.4.9 # Project Metadata # Group - com.example # Artifact - restapi # Name - restapi # Description - A demo project to showcase REST APIs # Package name - com.example.restapi # Packaging - JAR # Java - 8
Когда вы закончите настройку своего проекта, нажмите кнопку СОЗДАТЬ CTRL + ENTER , чтобы создать проект Spring, который можно загрузить и получить доступ к нему через вашу среду разработки. Давайте на минутку рассмотрим некоторые конфигурации, выбранные при создании этого проекта:
- Проект: Требуется, чтобы вы выбрали один из двух инструментов сборки – Maven или Gradle
- Язык: Требуется выбрать один из трех языков – Java, Kotlin или Groovy
- Группа: Требуется указать имя пакета вашего проекта.
- Артефакт: Требуется указать имя приложения вашего проекта.
- Упаковка: Требуется указать формат упакованного файла.
Ваш загруженный проект должен иметь структуру, аналогичную приведенной ниже иллюстрации:
├── restapi
└── .idea
└── .mvn
└── .src
└── main
└── java
└── com.example.restapi
└── test
└── target
└── gitignore
└── HELP.md
└── mvnw
└── mvnw.cmd
└── pom.xml
Определение классов для API REST
Для наших данных API мы будем использовать конечную точку из API Reloadly, которая возвращает сведения о любой стране на основе ее кода ISO . URL-адрес для доступа к этому:
https://topups.reloadly.com /страны/{код страны}
Где параметр код страны представляет код ISO страны, данные которой должны быть извлечены. Для нашего примера мы будем использовать Соединенные Штаты (США).
Когда будет получен успешный ответ, данные будут в формате JSON и будут похожи на это:
{
"isoName": "US",
"name": "United States",
"currencyCode": "USD",
"currencyName": "US Dollar",
"currencySymbol": "$",
"flag": "https://s3.amazonaws.com/rld-flags/us.svg",
"callingCodes": [
"+1"
]
}
Чтобы обработать эти данные в вашем приложении, вам необходимо создать класс домена, содержащий свойства и соответствующие методы получения для данных, которые вы собираетесь извлекать из API Reloadly. Имена ваших свойств должны точно совпадать с именами каждого параметра ответа в извлекаемых данных, как показано в GitHub ниже:
Извлечение ресурса REST API
Как только вы закончите создание класса, который обрабатывает данные вашего ответа, следующим шагом будет запрос к API Reloadly для извлечения данных. При создании вашего проекта Spring Initializr создает класс, названный в честь вашего проекта и используемый для запуска вашего проекта. Именно из этого класса будет сделан запрос на перезагрузку конечной точки API ly. Давайте посмотрим, как это достигается в приведенной ниже сути:
В приведенном выше примере кода мы определили следующее:
- Класс под названием
Приложение Rest Apiсоздается. Здесь содержатся методы, которые запускают и создают сборку для нашего приложения. - Также создается регистратор, который регистрирует наш ответ API в консоли.
- Аннотация компонента, которая служит основой нашего приложения. Он также создает сборку для нашего приложения.
RestTemplate– абстракция веб-клиента, построенная на Java API сервлетов . Он будет использоваться для отправки нашего запроса в API Reloadly.
Конечная точка Reloadly может быть разбита на:
https://topups.reloadly.com: Это базовый URL-адрес, по которому выполняется запрос на серверы Reloadly/страны/США: Это конечная точка, откуда должны быть получены данные,US– код страны Соединенных Штатов – страны, данные которой мы собираемся просмотреть. Вы можете узнать более подробную информацию о документации Reloadly здесь
На этом этапе наша заявка должна быть завершена. Давайте запустим его, перейдя к нашему терминалу и используя команду запуска Maven:
./mvnw spring-boot:run
В приведенном ниже видеоклипе показано, как это сделать:
Резюме
Spring – отличный фреймворк для разработчиков, начинающих работу с Java, чтобы получить представление о языке. В этом уроке мы смогли пройти процесс выполнения базового вызова API с конечной точки и получить ответ. Если вам нужно просмотреть образец кода для этого, вы можете найти его здесь на GitHub.
Оригинал: “https://dev.to/fullstackmafia/consuming-rest-apis-in-java-applications-48nm”