> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rocky.global/llms.txt
> Use this file to discover all available pages before exploring further.

# SWAGGER JSON EXAMPLES

# Mejoras en Ejemplos de Swagger - JSON Completo

## Problema Identificado

La documentación de Swagger no mostraba un ejemplo completo del JSON que devuelve la API, solo mostraba la estructura de tipos de datos sin un ejemplo real de la respuesta.

## Solución Implementada

Se actualizó la documentación de Swagger para incluir ejemplos completos de JSON que muestran exactamente qué devuelve la API.

### Cambios Realizados

#### 1. **API de Organizador** (`/api/v1/organizer/participants`)

* **Archivo**: `app/Http/Controllers/Api/Organizer/ParticipantsController.php`
* **Mejora**: Agregado ejemplo completo de JSON con `@OA\JsonContent(example={...})`

#### 2. **API de Supervisor** (`/api/v1/supervisor/participants`)

* **Archivo**: `app/Http/Controllers/Api/Supervisor/ParticipantsController.php`
* **Mejora**: Agregado ejemplo completo de JSON con `@OA\JsonContent(example={...})`

## Ejemplo Completo en Swagger

### Estructura Anterior (Solo Tipos)

```yaml theme={null}
responses:
  200:
    description: Lista de participantes
    content:
      application/json:
        schema:
          type: object
          properties:
            data:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: integer
                    example: 403
                  event:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 4
                      name:
                        type: string
                        example: "OCEANMAN EL GOUNA - EGYPT 2025"
```

### Estructura Nueva (Con Ejemplo Completo)

```yaml theme={null}
responses:
  200:
    description: Lista de participantes con información completa
    content:
      application/json:
        example:
          data:
            - id: 403
              event:
                id: 4
                name: "OCEANMAN EL GOUNA - EGYPT 2025"
              user:
                id: 322
                name: "Georgina Salah"
                lastname: ""
                email: "gsorial@aucegypt.edu"
                phone: null
                birthday: null
              registration:
                locator: "DA74ACD8"
                status: "OK"
                bib: "A-102"
                registration_date: "2025-09-26"
                created_at: "2025-09-26T04:19:24+00:00"
                created_at_human: "26/09/2025 04:19:24"
                updated_at: "2025-09-26T04:19:24+00:00"
              form_data:
                - name: "document"
                  value: "28208060100671"
                - name: "document_type"
                  value: "dni"
                - name: "country"
                  value: "Spain"
                - name: "city"
                  value: "Madrid"
          meta:
            organizer_id: 1
            filters:
              participant_id: null
              event_id: null
              status: null
              bib: null
              from: null
              to: null
              search: null
              order_by: "id"
              order_dir: "desc"
              per_page: 2000
          links:
            first: "http://api.example.com/api/v1/organizer/participants?page=1"
            last: "http://api.example.com/api/v1/organizer/participants?page=10"
            prev: null
            next: "http://api.example.com/api/v1/organizer/participants?page=2"
```

## Beneficios de la Mejora

### 1. **Claridad Visual**

* Los desarrolladores pueden ver exactamente qué estructura devuelve la API
* Ejemplo real con datos representativos
* Fácil comprensión de la respuesta

### 2. **Mejor Experiencia de Desarrollo**

* No hay que adivinar qué devuelve la API
* Ejemplo completo para testing
* Documentación más útil y práctica

### 3. **Facilita la Integración**

* Los desarrolladores frontend saben exactamente qué esperar
* Ejemplo listo para usar en pruebas
* Reduce el tiempo de desarrollo

### 4. **Documentación Más Profesional**

* Swagger se ve más completo y profesional
* Ejemplos realistas y útiles
* Mejor experiencia para los consumidores de la API

## Características del Ejemplo

### Datos Realistas

* Usa datos que representan un participante real
* Incluye todos los campos de la estructura final
* Muestra valores típicos para cada campo

### Estructura Completa

* Incluye `data`, `meta` y `links`
* Muestra la paginación
* Incluye filtros y metadatos

### Sin Duplicados

* Refleja la eliminación de campos duplicados
* `form_data` solo contiene campos adicionales
* Estructura limpia y organizada

## Cómo Ver la Mejora

### 1. **Acceder a Swagger UI**

```
http://tu-dominio.com/api/documentation
```

### 2. **Navegar a las APIs de Participantes**

* `/api/v1/organizer/participants` (GET)
* `/api/v1/supervisor/participants` (GET)

### 3. **Ver el Ejemplo**

* Hacer clic en "Try it out"
* Ver el ejemplo completo en la sección "Response"
* El ejemplo muestra exactamente qué devuelve la API

## Verificación

Para verificar que la mejora funciona:

1. **Regenerar Swagger**:
   ```bash theme={null}
   php artisan l5-swagger:generate
   ```

2. **Acceder a la documentación**:
   * Ir a `/api/documentation`
   * Verificar que aparezcan los ejemplos completos

3. **Probar la API**:
   * Hacer una petición real
   * Comparar con el ejemplo mostrado
   * Verificar que coincida la estructura

## Compatibilidad

* ✅ Funciona con Swagger UI estándar
* ✅ Compatible con OpenAPI 3.0
* ✅ Se regenera automáticamente
* ✅ No afecta la funcionalidad de la API

La documentación de Swagger ahora es mucho más útil y profesional, mostrando ejemplos completos y realistas de lo que devuelve la API.
