Swagger es una herramienta que facilita la creación, documentación y consumo de APIs (Application Programming Interface). Proporciona una interfaz interactiva que permite a los desarrolladores y consumidores externos visualizar, probar e interactuar con los endpoints de una API de manera intuitiva. A través de Swagger, es posible generar automáticamente la documentación de la API a partir del código fuente, asegurando que la documentación esté siempre actualizada y sincronizada con las implementaciones. Además, Swagger admite una amplia gama de lenguajes de programación y frameworks.
Swagger es accesible de forma predeterminada solo en el entorno de desarrollo. Para entornos de producción, la habilitación es opcional mediante configuración.
Comportamiento
| Entorno | Parámetro SwaggerEnabled | Usuario Autenticado | Resultado |
|---|---|---|---|
| Desarrollo | N/A | Sí | ✓ Acceso concedido |
| Desarrollo | N/A | No | 401 Unauthorized |
| Producción | false (predeterminado) | Sí/No | 403 Forbidden |
| Producción | true | Sí | ✓ Acceso concedido |
| Producción | true | No | 401 Unauthorized |
Cómo habilitar en producción
Incluya la configuración en el archivo appsettings.json:
{
"SwaggerEnabled": true
}
Tenemos algunas formas de autenticación dentro de Swagger; las más utilizadas normalmente son:
Para abrir Swagger, usaremos el endpoint: URL.../swagger/index.html
qablue.tech6cloud.com/swagger/index.html; (en este caso, qablue es el nombre de su dominio.)(servidor del IIS)/(nombre de la aplicación en IIS)/swagger/index.htmlLa URL informada antes de la API dependerá de su dominio en la cloud o, en caso de entorno local, de las configuraciones informadas en su IIS (Internet Information Services).
Al acceder al endpoint se abrirá una página que contiene todas las APIs del sistema. Haga clic en
para expandir la API seleccionada.
Para obtener más información y formas de consumir las APIs, visite nuestro centro de ayuda: Integración de Datos
Para acceder a Swagger en un entorno de producción, es necesario habilitar la configuración en el archivo appsettings.json, definiendo "SwaggerEnabled": true. Por defecto, Swagger está deshabilitado en producción por razones de seguridad.
El error 403 (Forbidden) indica que Swagger está deshabilitado para el entorno actual. En entornos de producción, Swagger debe habilitarse explícitamente mediante la configuración "SwaggerEnabled": true en el archivo appsettings.json.
El error 401 (Unauthorized) significa que no está autenticado en el sistema. Es necesario iniciar sesión en la aplicación antes de acceder a Swagger, independientemente del entorno (desarrollo o producción).
Swagger admite tres métodos principales de autenticación:
Para ejecutar una API en Swagger:
La URL predeterminada sigue el formato: URL.../swagger/index.html. En un entorno cloud, sería algo como sudominio.tech6cloud.com/swagger/index.html. En un entorno local, depende de la configuración del IIS: (servidor del IIS)/(nombre de la aplicación en IIS)/swagger/index.html.
La respuesta de Swagger incluye un código de estado HTTP y una descripción. Los códigos 2xx indican éxito, mientras que los códigos 4xx o 5xx indican errores. En caso de fallo, Swagger proporciona detalles sobre el código de error y el motivo del fallo.
Sí, Swagger genera automáticamente la documentación de la API a partir del código fuente, asegurando que la documentación esté siempre actualizada y sincronizada con las implementaciones realizadas.
Swagger expone información sobre la estructura y endpoints de su API. Por razones de seguridad, está deshabilitado por defecto en producción. Habilítelo solo si hay una necesidad específica y asegúrese de que solo usuarios autenticados puedan acceder a él.
Sí, Swagger muestra todas las APIs disponibles en el sistema, permitiendo visualizar, probar e interactuar con cada endpoint de forma interactiva. Es una herramienta completa para que los desarrolladores y consumidores externos prueben las funcionalidades de la API.