openapi: 3.0.1 info: title: Example API description: API de ejemplo para probar el generador version: 1.0.0 tags: - name: User description: Operaciones de usuario - name: Product description: Operaciones de productos paths: /v1/users: get: tags: - User summary: Obtener lista de usuarios operationId: getUsers parameters: - name: search in: query required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserResponse' post: tags: - User summary: Crear usuario operationId: createUser requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateUserRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/UserSchema' /v1/users/{id}: get: tags: - User summary: Obtener usuario por ID operationId: getUserById parameters: - name: id in: path required: true schema: type: integer responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/UserSchema' delete: tags: - User summary: Eliminar usuario operationId: deleteUser parameters: - name: id in: path required: true schema: type: integer responses: '204': description: No Content /v1/products: get: tags: - Product summary: Obtener lista de productos operationId: getProducts responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ProductResponse' components: schemas: UserSchema: type: object properties: id: type: integer example: 1 name: type: string example: Juan Pérez email: type: string example: juan@example.com active: type: boolean example: true CreateUserRequest: type: object required: - name - email properties: name: type: string example: Juan Pérez email: type: string example: juan@example.com UserResponse: type: object properties: users: type: array items: $ref: '#/components/schemas/UserSchema' ProductSchema: type: object properties: id: type: integer example: 100 name: type: string example: Laptop HP price: type: number format: float example: 599.99 ProductResponse: type: object properties: products: type: array items: $ref: '#/components/schemas/ProductSchema'