Вступление
Первое знакомство с Kora лучше начать с руководства Создание первого приложения на Kora.
В нем пошагово собирается минимальный HTTP-сервис и объясняется, как @KoraApp, @Component, @HttpController и @HttpRoute
складываются в рабочий Gradle-проект.
Документацию удобно использовать двумя способами:
- Руководства - это пошаговые материалы. Они объясняют идею, форму кода и причины выбора конкретных модулей Kora.
- Примеры из репозитория - это готовые запускаемые сервисы. Они полезны, когда нужно сверить структуру проекта, настройки Gradle, тесты или реализацию с рабочим приложением.
Путь по руководствам¶
Начните с основы:
- Создание первого приложения на Kora - сборка и запуск минимального HTTP-сервиса.
- Введение во внедрение зависимостей и Внедрение зависимостей - граф зависимостей Kora, компоненты, модули, теги и фабрики.
- Конфигурация HOCON, Конфигурация YAML, JSON и Валидация - базовые возможности, которые обычно нужны каждому сервису.
После этого переходите к прикладным сценариям:
- HTTP и API: HTTP сервер, HTTP сервер продвинутый, HTTP клиент, HTTP клиент продвинутый, OpenAPI HTTP сервер, OpenAPI HTTP сервер продвинутый и OpenAPI HTTP клиент.
- Доступ к данным: База данных JDBC, База данных JDBC продвинутая и База данных Cassandra.
- Интеграции: Kafka, gRPC сервер, gRPC сервер продвинутый, gRPC клиент, gRPC клиент продвинутый и S3.
- Эксплуатационные возможности: Кеширование, Многоуровневое кеширование, Отказоустойчивость и Наблюдаемость.
- Тестирование: Компонентное тестирование, Интеграционное тестирование и Тестирование как черный ящик.
Многие руководства также ссылаются на готовые Java- и Kotlin-приложения в репозитории kora-examples, поэтому можно одновременно читать объяснение и смотреть полный проект.
Репозиторий примеров¶
Большое количество готовых сервисов с различными модулями Kora находится в репозитории kora-examples.
Полезные отправные точки:
- CRUD-сервис
- HTTP сервер
- HTTP клиент
- База данных JDBC
- Kafka
- Генерация OpenAPI HTTP сервера
- Генерация OpenAPI HTTP клиента
К каждому сервису прилагаются тесты. По ним можно посмотреть, как проверять приложение через JUnit 5 расширение Kora и как запускать проверки в формате черного ящика с Testcontainers.
Шаблоны проектов¶
Новый Java-сервис можно создать на основе Kora Java template.
Новый Kotlin-сервис можно создать на основе Kora Kotlin template.