This media is not supported in your browser
VIEW IN TELEGRAM
🤖 AI сейчас на пике — и математика снова в центре внимания.
Одна из топовых экспертов, кто сегодня участвует на AIJ, преподаёт у нас.
Мария Тихонова — PhD по Computer Science, руководитель направления в SberAI и доцент ВШЭ. Она работает с LLM каждый день и объясняет математику так, как она реально применяется в AI.
🔥 Экспресс-курс «Математика для DS» — 8 недель, чтобы закрыть пробелы и уверенно проходить собесы.
🎁 До 30 ноября:
→ скидка 40%
→ курс «Школьная математика» в подарок при оплате
→ бесплатный тест на знание основ математики
👉 Записаться на курс
«На конференции AIJ только и разговоров, что о AI и математике. Ведь в основе генеративных моделей Gen AI лежит фундаментальная математика.»
Одна из топовых экспертов, кто сегодня участвует на AIJ, преподаёт у нас.
Мария Тихонова — PhD по Computer Science, руководитель направления в SberAI и доцент ВШЭ. Она работает с LLM каждый день и объясняет математику так, как она реально применяется в AI.
🔥 Экспресс-курс «Математика для DS» — 8 недель, чтобы закрыть пробелы и уверенно проходить собесы.
🎁 До 30 ноября:
→ скидка 40%
→ курс «Школьная математика» в подарок при оплате
→ бесплатный тест на знание основ математики
👉 Записаться на курс
👏2👾2😁1
Помните, как это было? Кофе, зачетка и возможность просто учиться без спринтов и задач
29 ноября в 16:00 будет Back to Uni — встреча-ностальгия в кампусе Центрального университета для ИТ-сообщества.
Что вас ждет:
— Пары от преподавателей ЦУ — применять знания не обязательно, будет просто интересно.
— Возможность узнать, как и зачем ИТ-специалисту преподавать в вузе, даже если нет опыта или страшно начать.
— Студенческие клубы, разговоры по душам в коридорах и та самая атмосфера, где можно просто вдохновляться.
Пары будут вести руководитель отдела прикладного ML в AI-центре Т-Банка Андрей Мельников, руководитель аналитики международного Яндекс Поиска Роман Васильев, к.м.н., руководитель направления исследований «Мышление и AI» в лаборатории нейронаук и поведения человека Сбера Яна Венерина и другие эксперты.
Это бесплатно. Приходите с однокурсниками — ностальгировать вместе.
Регистрируйтесь по ссылке тут!
29 ноября в 16:00 будет Back to Uni — встреча-ностальгия в кампусе Центрального университета для ИТ-сообщества.
Что вас ждет:
— Пары от преподавателей ЦУ — применять знания не обязательно, будет просто интересно.
— Возможность узнать, как и зачем ИТ-специалисту преподавать в вузе, даже если нет опыта или страшно начать.
— Студенческие клубы, разговоры по душам в коридорах и та самая атмосфера, где можно просто вдохновляться.
Пары будут вести руководитель отдела прикладного ML в AI-центре Т-Банка Андрей Мельников, руководитель аналитики международного Яндекс Поиска Роман Васильев, к.м.н., руководитель направления исследований «Мышление и AI» в лаборатории нейронаук и поведения человека Сбера Яна Венерина и другие эксперты.
Это бесплатно. Приходите с однокурсниками — ностальгировать вместе.
Регистрируйтесь по ссылке тут!
🎧 Что послушать — #подкаст Javaswag #82
🔹 Ведущий: Дмитрий Волыхин
🔹 Гость: Владимир Ситников
🔹 Продолжительность: 2 часа 6 минут
Владимир рассказывает о перфоманс-инжиниринге, роли нагрузочного тестирования, создании собственного профайлера, работе с Java Flight Recorder и Async Profiler, а также делится опытом управления PR в Open Source проектах и участия в конференциях.
🔹 Ключевые темы выпуска
02:31 — Перфоманс-инжиниринг
07:40 — Роль нагрузочного тестирования
29:46 — Кэширование запросов в Oracle и Postgres
35:42 — Платная поддержка Spring
38:17 — Создание собственного профайлера
56:13 — Оптимизация записи метрик
58:18 — Java Flight Recorder и Async Profiler
01:38:00 — Управление PR и их обсуждение
01:45:02 — Доклады и конференции
🔗 Слушать выпуск
🐸 Библиотека джависта
#DevLife
🔹 Ведущий: Дмитрий Волыхин
🔹 Гость: Владимир Ситников
🔹 Продолжительность: 2 часа 6 минут
Владимир рассказывает о перфоманс-инжиниринге, роли нагрузочного тестирования, создании собственного профайлера, работе с Java Flight Recorder и Async Profiler, а также делится опытом управления PR в Open Source проектах и участия в конференциях.
🔹 Ключевые темы выпуска
02:31 — Перфоманс-инжиниринг
07:40 — Роль нагрузочного тестирования
29:46 — Кэширование запросов в Oracle и Postgres
35:42 — Платная поддержка Spring
38:17 — Создание собственного профайлера
56:13 — Оптимизация записи метрик
58:18 — Java Flight Recorder и Async Profiler
01:38:00 — Управление PR и их обсуждение
01:45:02 — Доклады и конференции
#DevLife
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥2👏1
🎉 Большая распродажа Proglib Academy — минус 40% на всё!
📚 Выбирай свой курс:
▫️ «Экспресс-курс по математике для DS» — получи фундамент для построения успешной карьеры в Data Science
▫️ «Математика для DS» — для тех, кто хочет уверенно работать с данными;
▫️ «Основы Python» — чтобы начать писать код с нуля;
▫️ «Алгоритмы и структуры данных» — для будущих инженеров;
▫️ «Специалист по ИИ» или «AI-агенты», или «Машинное обучение» — для тех, кто хочет прокачаться в ИИ.
▫️ «Архитектуры и шаблоны проектирования» — чтобы писать гибкий, масштабируемый код как мидл+ разработчик.
▫️ «Основы IT для непрограммистов» — для тех, кто хочет понимать, как устроены технологии, не будучи разработчиком.
🎁 Бонусы ноября:
▫️ Розыгрыш MacBook Pro 14 — купи любой курс и пройди 2 недели обучения до 30 ноября.
▫️ Бесплатный тест по математике — за 5 минут покажет, какие темы стоит подтянуть перед DS.
👉 Выбрать курс со скидкой
📚 Выбирай свой курс:
▫️ «Экспресс-курс по математике для DS» — получи фундамент для построения успешной карьеры в Data Science
▫️ «Математика для DS» — для тех, кто хочет уверенно работать с данными;
▫️ «Основы Python» — чтобы начать писать код с нуля;
▫️ «Алгоритмы и структуры данных» — для будущих инженеров;
▫️ «Специалист по ИИ» или «AI-агенты», или «Машинное обучение» — для тех, кто хочет прокачаться в ИИ.
▫️ «Архитектуры и шаблоны проектирования» — чтобы писать гибкий, масштабируемый код как мидл+ разработчик.
▫️ «Основы IT для непрограммистов» — для тех, кто хочет понимать, как устроены технологии, не будучи разработчиком.
🎁 Бонусы ноября:
▫️ Розыгрыш MacBook Pro 14 — купи любой курс и пройди 2 недели обучения до 30 ноября.
▫️ Бесплатный тест по математике — за 5 минут покажет, какие темы стоит подтянуть перед DS.
👉 Выбрать курс со скидкой
Вместо того чтобы копировать чужие манифесты с GitHub, вы настраиваете полноценный production-ready деплоймент через промпт.
Оптимизированный Dockerfile с multi-stage сборкой, Deployment с resource limits и health probes, Service Discovery через Kubernetes DNS, Ingress с TLS терминацией, автоскейлинг через HPA, NetworkPolicy для изоляции, RBAC для безопасности, и observability через Prometheus/Grafana.
📝 Промпт:
Generate a production-ready Spring Boot 3 application deployment to Kubernetes with enterprise-grade configuration:
— Create optimized multi-stage Dockerfile: Eclipse Temurin JDK 21, layered JAR, non-root user, distroless runtime image, minimal attack surface.
— Configure Kubernetes Deployment: resource requests/limits (CPU/memory), pod anti-affinity, PodDisruptionBudget, rolling update strategy with maxSurge/maxUnavailable, replica count.
— Implement health probes: liveness (/health/liveness), readiness (/health/readiness), startup probe for slow apps, custom health indicators, initial delays and timeouts.
— Set up configuration management: ConfigMaps for application.yml, Secrets for credentials, environment-specific overlays, volume mounts, Spring Cloud Kubernetes Config integration.
— Configure Service and Ingress: ClusterIP Service, NGINX Ingress with path/host routing, TLS termination via cert-manager, rate limiting, CORS policies.
— Implement RBAC: ServiceAccount, Role with least-privilege, RoleBinding, pod security context (runAsNonRoot, readOnlyRootFilesystem).
— Set up autoscaling: HorizontalPodAutoscaler based on CPU/memory/custom metrics, VerticalPodAutoscaler, scaling thresholds.
— Add NetworkPolicy: ingress/egress rules, namespace isolation, pod selector-based restrictions, deny-all default.
— Configure observability: Prometheus ServiceMonitor, Grafana dashboards, Spring Boot Actuator metrics, distributed tracing with Jaeger/Tempo, Loki for logs.
— Implement graceful shutdown: SIGTERM handling, preStop hooks, connection draining, termination grace period (30s+).
— Add secrets management: External Secrets Operator, HashiCorp Vault, AWS/GCP Secrets Manager CSI drivers.
— Create Helm chart: values.yaml with environment configs, templates for all resources, chart dependencies, deployment notes.
— Add Kustomize setup: base manifests, environment-specific overlays, ConfigMap generators.
— Configure init containers: database migrations (Flyway), wait-for-dependencies, secret fetching.
— Implement GitOps: ArgoCD Application manifest, sync policies, health checks, automated rollback.
Deliverables:
— Dockerfile with multi-stage build
— kubernetes/*.yaml (deployment, service, ingress, configmap, secret, hpa, networkpolicy)
— helm/ chart with templates and values
— kustomize/ with base and overlays
— prometheus-servicemonitor.yaml
— grafana-dashboard.json
— README with deployment guide and troubleshooting
— настроить service mesh (Istio) с mTLS;
— добавить canary deployments с Argo Rollouts;
— реализовать policy enforcement через Kyverno;
#Enterprise
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7👏2🔥1🌚1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁28💯3👍1👾1
☕️ Java — это не только про фабрики бинов
Принято считать, что джавист — это суровый энтерпрайз-боец. Но на деле хороший бэкендер — это гибкий специалист, который может масштабироваться в тимлида или архитектора. Одно из главных условий такого роста — постоянный приток новой информации и анализ чужого опыта.
Вместо, того чтобы искать релевантный контент по всему тг, загляните в папку, где собраны несколько авторских каналов. Можно узнать много полезностей не только про Java, но и про актуальные инструменты и смежные технологии. Пригодится для вашего профессионального роста.
Принято считать, что джавист — это суровый энтерпрайз-боец. Но на деле хороший бэкендер — это гибкий специалист, который может масштабироваться в тимлида или архитектора. Одно из главных условий такого роста — постоянный приток новой информации и анализ чужого опыта.
Вместо, того чтобы искать релевантный контент по всему тг, загляните в папку, где собраны несколько авторских каналов. Можно узнать много полезностей не только про Java, но и про актуальные инструменты и смежные технологии. Пригодится для вашего профессионального роста.
❤2👍1🔥1
Forwarded from Библиотека собеса по Java | вопросы с собеседований
Strategy — это
Когда использовать:
—
—
—
Преимущества:
#core
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2🤔1
Коллеги, давайте всем комьюнити соберёмся и составим базу годных ресурсов по Java
— Блоги и статьи
— Telegram-каналы
— YouTube-каналы и подкасты
— Актуальные книги
— Репозитории
— Доклады
Курсы "java с нуля за месяц", базовые туториалы и переводы официальной документации.
#DevLife
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2😁1
Пишешь SQL запрос в строке — ни подсветки синтаксиса, ни проверки, ни автодополнения. Опечатка в названии таблицы найдется только в рантайме. JSON в тесте? Вручную экранируешь кавычки и молишься, что не забыл запятую.
А IDEA умеет превращать строковые литералы в полноценные мини-редакторы с поддержкой нужного языка.
🔹 Что делает
— Внедряет поддержку другого языка (SQL, JSON, RegEx, HTML) внутри строкового литерала Java
— Включает подсветку синтаксиса, автодополнение, проверку ошибок для внедренного языка
— Позволяет редактировать в отдельном окне с полноценным редактором
— Понимает контекст: для SQL подключается к БД и предлагает реальные таблицы и колонки
🔹 Зачем это нужно
— Нативные SQL запросы в JDBC перестают быть черным ящиком — видишь ошибки до запуска
— JSON в тестовых данных валидируется на лету, форматируется одной кнопкой
— RegEx с подсветкой групп захвата и встроенным тестером
— HTML/XML в шаблонах проверяется на корректность структуры
— Xpath выражения с автодополнением элементов
🔹 Как использовать
— Автоматически: IDEA часто сама определяет язык (например, для методов createQuery, Pattern.compile)
— Вручную: Alt+Enter на строке → "Inject language or reference"
— Через аннотацию: добавить @Language("SQL") над String параметром
— Редактирование: Alt+Enter → "Edit SQL/JSON/RegEx fragment" — открывает полноценный редактор в popup
#Enterprise
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥2❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁16💯3👍2🔥1👾1
📊 А правда, что математика в Data Science не нужна?
Нет. Без неё вы не пройдёте собес и не поймёте, почему модель ведёт себя странно. Линал, матан и вероятности — это база, без которой работа в ML превращается в угадайку.
🔥 Эту базу можно собрать за 2 месяца на экспресс-курсе «Математика для Data Science».
👩🏫 Кто ведёт курс:
→ Мария Тихонова
PhD, руководитель исследовательского направления в SberAI, доцент ВШЭ.
→ Диана Миронидис
Преподаватель ВШЭ, автор научпоп-материалов по математике для блога МТС.
→ Ксения Кондаурова
Преподаватель преподаватель T-Банка, автор курсов ЦУ и Edutoria.
→ Маргарита Бурова
Академический руководитель программ по аналитике и ML, Wildberries & Russ.
🎁 Что сейчас доступно:
→ бесплатный тест, чтобы узнать свой уровень математики;
→ скидка 40% до 30 ноября;
→ если оплатить до конца ноября, курс «Базовая математика» в подарок.
👉 Пишите менеджеру, если хотите попасть в поток
Нет. Без неё вы не пройдёте собес и не поймёте, почему модель ведёт себя странно. Линал, матан и вероятности — это база, без которой работа в ML превращается в угадайку.
🔥 Эту базу можно собрать за 2 месяца на экспресс-курсе «Математика для Data Science».
👩🏫 Кто ведёт курс:
→ Мария Тихонова
PhD, руководитель исследовательского направления в SberAI, доцент ВШЭ.
→ Диана Миронидис
Преподаватель ВШЭ, автор научпоп-материалов по математике для блога МТС.
→ Ксения Кондаурова
Преподаватель преподаватель T-Банка, автор курсов ЦУ и Edutoria.
→ Маргарита Бурова
Академический руководитель программ по аналитике и ML, Wildberries & Russ.
🎁 Что сейчас доступно:
→ бесплатный тест, чтобы узнать свой уровень математики;
→ скидка 40% до 30 ноября;
→ если оплатить до конца ноября, курс «Базовая математика» в подарок.
👉 Пишите менеджеру, если хотите попасть в поток
🎯 Optional: используй правильно
Optional появился в Java 8, но многие до сих пор используют его неэффективно. Короткий чеклист 👇
❌ Антипаттерны
✔️ Полезные комбинации
❌ Когда НЕ использовать
— Не используй Optional в полях класса
— Не передавай Optional как параметр метода
— Не создавай Optional для коллекций (верни пустую коллекцию)
— Не используй Optional для примитивов (есть OptionalInt, OptionalLong, OptionalDouble)
✔️ Когда использовать
— Возвращаемое значение метода, которое может отсутствовать
— Stream API operations
— Замена null в return
Ставь → 🔥, если полезно и хочешь короткие разборы других фич?
🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
🐸 Библиотека джависта
#CoreJava
Optional появился в Java 8, но многие до сих пор используют его неэффективно. Короткий чеклист 👇
// Плохо #1: проверка через isPresent()
if (optional.isPresent()) {
doSomething(optional.get());
}
// ✔️ Правильно:
optional.ifPresent(this::doSomething);
// Плохо #2: get() без проверки
User user = userOptional.get(); // NoSuchElementException
// ✔️ Правильно:
User user = userOptional.orElseThrow(() ->
new UserNotFoundException("User not found"));
// Плохо #3: orElse с вычислением
return optional.orElse(repository.findDefault()); // ВСЕГДА вызовется!
// ✔️ Правильно:
return optional.orElseGet(() -> repository.findDefault());
// map + orElse
String name = userOptional
.map(User::getName)
.orElse("Anonymous");
// flatMap для вложенных Optional
Optional<String> email = userOptional
.flatMap(User::getEmail); // User::getEmail возвращает Optional<String>
// filter + ifPresent
userOptional
.filter(u -> u.getAge() > 18)
.ifPresent(this::sendAdultContent);
// or (Java 9+) - fallback к другому Optional
return cache.get(id)
.or(() -> database.find(id))
.orElseThrow();
— Не используй Optional в полях класса
— Не передавай Optional как параметр метода
— Не создавай Optional для коллекций (верни пустую коллекцию)
— Не используй Optional для примитивов (есть OptionalInt, OptionalLong, OptionalDouble)
— Возвращаемое значение метода, которое может отсутствовать
— Stream API operations
— Замена null в return
Ставь → 🔥, если полезно и хочешь короткие разборы других фич?
🔹 Курс «Алгоритмы и структуры данных»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
#CoreJava
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👍3🤔2❤1
🔥 Как настроить Swagger/OpenAPI для документирования API
Swagger (OpenAPI) — стандарт описания REST API. Автогенерация документации, интерактивное тестирование через UI, генерация клиентов для различных языков.
Синхронизируется с кодом автоматически, поддерживает аннотации для детального описания и используется как контракт между фронтендом и бекендом.
1️⃣ Добавляем зависимости
Для Spring Boot 3.x используйте springdoc-openapi-starter-webmvc-ui. Это современная библиотека, заменившая устаревший springfox.
Одна зависимость подтягивает всё необходимое: генерацию спецификации, Swagger UI и валидацию. Автоматически интегрируется со Spring MVC и Spring Security.
2️⃣ Создаём базовую конфигурацию
Создайте класс OpenApiConfig аннотированный @Configuration. Определите bean OpenAPI с общей информацией: название API, версия, описание, контакты, лицензия.
Используйте Info, Contact, License для метаданных. Настройте servers() для указания базовых URL разных окружений (dev, staging, prod). Это позволит тестировать через UI на любом окружении.
3️⃣ Документируем контроллеры
Используйте @Tag на классе контроллера для группировки эндпоинтов. На методах применяйте @Operation(summary, description) для описания операции.
Аннотируйте параметры через @Parameter(description, required, example). Для тела запроса используйте @io.swagger.v3.oas.annotations.parameters.RequestBody с описанием и примерами. Добавляйте @Schema на DTO для описания полей модели.
4️⃣ Описываем ответы API
Используйте @ApiResponses с набором @ApiResponse для каждого возможного HTTP статуса. Укажите responseCode, description и content с примерами.
Создайте стандартные ErrorResponse классы и документируйте их через @Schema(description). Это даст консистентную обработку ошибок и понятную документацию для клиентов API.
5️⃣ Настраиваем Security схемы
Для JWT добавьте SecurityScheme через @SecurityScheme аннотацию на конфигурации. Укажите type = BEARERAUTH, scheme = "bearer", bearerFormat = "JWT".
На защищённых эндпоинтах используйте @SecurityRequirement(name = "bearerAuth"). Swagger UI автоматически добавит поле для ввода токена и будет подставлять его в заголовок Authorization.
6️⃣ Кастомизация и расширение
Настройте springdoc.swagger-ui.path для изменения URL (по умолчанию /swagger-ui.html). Включите tryItOutEnabled и supportedSubmitMethods для удобного тестирования.
Используйте springdoc.api-docs.path для изменения пути к JSON спецификации (по умолчанию /v3/api-docs). Для группировки API используйте @RouterOperations и группировку по packages или paths.
7️⃣ Best practices и продвинутые фичи
▪️ Используйте @Hidden на методах/контроллерах для исключения из документации
▪️ Добавьте примеры запросов/ответов через @ExampleObject для лучшего UX
▪️ Генерируйте client SDK через openapi-generator-maven-plugin
▪️ В production отключайте Swagger UI или закрывайте авторизацией
▪️ Используйте springdoc.show-actuator для документирования Actuator эндпоинтов
▪️ Включите springdoc.default-consumes/produces-media-type для дефолтных типов
✔️ Что происходит под капотом
При старте приложения springdoc сканирует все контроллеры, читает аннотации Spring и OpenAPI, анализирует сигнатуры методов и типы параметров.
Из этой информации генерируется OpenAPI спецификация в формате JSON/YAML. Swagger UI читает эту спецификацию и рендерит интерактивный интерфейс с формами для тестирования и документацией.
💡 Бонус-совет
Интегрируйте OpenAPI спецификацию в CI/CD для автоматической проверки breaking changes. Используйте openapi-diff для сравнения версий API. Публикуйте спецификацию в artifact repository для использования клиентами при генерации SDK.
🐸 Библиотека джависта
#Enterprise
Swagger (OpenAPI) — стандарт описания REST API. Автогенерация документации, интерактивное тестирование через UI, генерация клиентов для различных языков.
Синхронизируется с кодом автоматически, поддерживает аннотации для детального описания и используется как контракт между фронтендом и бекендом.
Для Spring Boot 3.x используйте springdoc-openapi-starter-webmvc-ui. Это современная библиотека, заменившая устаревший springfox.
Одна зависимость подтягивает всё необходимое: генерацию спецификации, Swagger UI и валидацию. Автоматически интегрируется со Spring MVC и Spring Security.
Создайте класс OpenApiConfig аннотированный @Configuration. Определите bean OpenAPI с общей информацией: название API, версия, описание, контакты, лицензия.
Используйте Info, Contact, License для метаданных. Настройте servers() для указания базовых URL разных окружений (dev, staging, prod). Это позволит тестировать через UI на любом окружении.
Используйте @Tag на классе контроллера для группировки эндпоинтов. На методах применяйте @Operation(summary, description) для описания операции.
Аннотируйте параметры через @Parameter(description, required, example). Для тела запроса используйте @io.swagger.v3.oas.annotations.parameters.RequestBody с описанием и примерами. Добавляйте @Schema на DTO для описания полей модели.
Используйте @ApiResponses с набором @ApiResponse для каждого возможного HTTP статуса. Укажите responseCode, description и content с примерами.
Создайте стандартные ErrorResponse классы и документируйте их через @Schema(description). Это даст консистентную обработку ошибок и понятную документацию для клиентов API.
Для JWT добавьте SecurityScheme через @SecurityScheme аннотацию на конфигурации. Укажите type = BEARERAUTH, scheme = "bearer", bearerFormat = "JWT".
На защищённых эндпоинтах используйте @SecurityRequirement(name = "bearerAuth"). Swagger UI автоматически добавит поле для ввода токена и будет подставлять его в заголовок Authorization.
Настройте springdoc.swagger-ui.path для изменения URL (по умолчанию /swagger-ui.html). Включите tryItOutEnabled и supportedSubmitMethods для удобного тестирования.
Используйте springdoc.api-docs.path для изменения пути к JSON спецификации (по умолчанию /v3/api-docs). Для группировки API используйте @RouterOperations и группировку по packages или paths.
▪️ Используйте @Hidden на методах/контроллерах для исключения из документации
▪️ Добавьте примеры запросов/ответов через @ExampleObject для лучшего UX
▪️ Генерируйте client SDK через openapi-generator-maven-plugin
▪️ В production отключайте Swagger UI или закрывайте авторизацией
▪️ Используйте springdoc.show-actuator для документирования Actuator эндпоинтов
▪️ Включите springdoc.default-consumes/produces-media-type для дефолтных типов
При старте приложения springdoc сканирует все контроллеры, читает аннотации Spring и OpenAPI, анализирует сигнатуры методов и типы параметров.
Из этой информации генерируется OpenAPI спецификация в формате JSON/YAML. Swagger UI читает эту спецификацию и рендерит интерактивный интерфейс с формами для тестирования и документацией.
Интегрируйте OpenAPI спецификацию в CI/CD для автоматической проверки breaking changes. Используйте openapi-diff для сравнения версий API. Публикуйте спецификацию в artifact repository для использования клиентами при генерации SDK.
#Enterprise
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11👍2🔥1