Configuration
La UI no tiene configuración en build time: resuelve qué spec renderizar enteramente en runtime, vía una regla con un override.
Una regla, un override
| Source | When | Example |
|---|---|---|
GET /api-json | Por defecto: coincide con lo que SwaggerModule.setup() de @nestjs/swagger expone junto al Swagger UI | https://api.example.com/docs → fetches https://api.example.com/api-json |
?spec=<url> | Query param: tiene prioridad sobre el valor por defecto cuando está presente | https://docs.example.com/?spec=https://api.example.com/api-json |
CORS entre distintos orígenes
Si la UI se sirve en un origen distinto al de la API, usa el override ?spec= y asegúrate de que la configuración de CORS de la API permita a ese origen hacer GET del documento JSON.
Esta misma cuestión de same-origin vuelve a aparecer en la ejecución de requests: consulta Try it out para ver cómo su proxy esquiva CORS por completo, sin tocar la configuración propia de la API.
Múltiples specs
Pasa specs a DocfyUiModule.setup() para dejar que los usuarios cambien entre varios documentos OpenAPI sin salir de la UI, útil cuando una instancia de docfy-ui debe cubrir varios servicios:
DocfyUiModule.setup('/docs', app, {
specs: [
{ name: 'Users service', url: 'https://users.example.com/api-json' },
{ name: 'Orders service', url: 'https://orders.example.com/api-json' },
],
});Cada url se obtiene del lado del cliente exactamente igual que la spec /api-json por defecto (same-origin o no, sujeto a la política CORS de ese origen). Aparece un dropdown en el sidebar solo cuando hay dos o más specs configuradas. Omite specs por completo y docfy-ui se comporta exactamente igual que antes, sin selector renderizado.