Swagger Codegen на собеседовании системного аналитика
Проверь себя · 1/3разбор после ответа
В отчёте нужно вывести всех пользователей и количество их заказов, включая тех, у кого заказов нет. Какой тип соединения между
users и orders по user_id нужен?Что такое codegen
Generate code из OpenAPI specification.
openapi.yaml → openapi-generator → client SDK / server stubs / docsSaves boilerplate, ensures consistency.
Client SDK
Generate typed клиент любого языка.
openapi-generator-cli generate -i openapi.yaml -g typescript-axios -o ./clientResult:
const client = new OrdersApi(...);
const orders = await client.listOrders(); // typed!Languages: Python, Java, TS, Go, C#, Rust, etc. 50+ generators.
Server stub
Generate scaffolding сервера.
openapi-generator-cli generate -i openapi.yaml -g spring -o ./serverResult: controllers, models. Implementations — fill in business logic.
Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Validation
Generated code validates input / output против schema. Catches errors early.
При request не matches schema → return 400 automatically.
Contract-first
Workflow:
1. SA / API designer writes OpenAPI spec.
2. Generate server stub.
3. Generate client SDKs.
4. Backend / frontend teams develop в parallel.Spec — single source of truth. Changes ↔ regenerate.
Anti-pattern. Code-first — write code, retroactively generate spec. Often diverges от documented intent.
Связанные темы
- OpenAPI и Swagger для SA
- REST API для SA
- API contract testing для SA
- URL design для SA
- Подготовка к собесу системного аналитика
FAQ
Это официальная информация?
Нет. Статья основана на документации OpenAPI Generator.
Тренируйте системный анализ — откройте тренажёр с 1500+ вопросами для собесов.