Files
dc-observatio/services/pcp-route-processing-service/README.md
T
Дмитрий Соловьев d48ddd2657 Init
2026-05-25 14:23:52 +03:00

36 lines
1.7 KiB
Markdown

# route-passport-kafka-consumer
Минимальный сервис на Kotlin + Spring Boot, который:
- слушает Kafka topic;
- получает в сообщении JSON паспорта маршрута;
- парсит JSON в DTO;
- больше ничего не делает.
## Что внутри
- `RoutePassportConsumerApplication` — точка входа Spring Boot.
- `RoutePassportMessageListener` — Kafka listener.
- `RoutePassportJsonParserService` — сервис парсинга входного JSON в DTO.
- `RoutePassportDto` — итоговый DTO из `pcp-types-lib`.
- `RawPassportEnvelopeDto` и связанные `Raw*` DTO — модель входного JSON из `pcp-types-lib`.
## Как запустить
1. Поднять Kafka.
2. Указать адрес брокера в `application.yml` или через переменную окружения `KAFKA_BOOTSTRAP_SERVERS`.
3. При необходимости указать topic через `APP_KAFKA_TOPIC`.
4. Запустить приложение:
```bash
./gradlew bootRun
```
## Сообщение, которое ожидает сервис
Сервис ожидает, что value Kafka-сообщения — это JSON того же формата, что и `src/test/resources/passport_example.json`.
Поле `geometry` должно приходить строкой в формате WKT.
## Примечание
Поскольку в запросе был указан просто «слушает очередь», реализация сделана через Kafka topic как наиболее типичный вариант для стека Kotlin + Spring и Kafka-ориентированного сервиса.