Crea una carpeta en tu escritorio que se llame swagger.
En ella vamos a guardar todo lo que tenga que ver con este ejercicio.
Entrar a:
Si tienes un proyecto en mente, debes modificar la configuración Swagger, pero para que tengas una idea general, vamos a dejar el código del servidor sin modificar para generar un server. Una vez ya lo hayas hecho se te facilitará hacerlo para tus propias APPs.
En el menu superior están las siguientes opciones:
- File
- Edit
- Generate Server
- Generate Client
- About
En este caso vas a generar un servidor en python, asi que dale click a Generate Server y elige python-fast.
Automaticamente se descargará un proyecto comprimido, que debes guardar en la carpeta swagger que creamos en el escritorio.
Descomprime esta carpeta; entra en python-flask-server.
Se mostrará como sigue:
Sube el proyecto a tu github, desde ahora, para que puedas hacer pruebas controladas de tu experiencia de aprendizaje. Una vez hayas cargado el proyecto en github, descargarlo con git clone. Y pasa a describir la experiencia de manera puntual, como de costumbre. Luego, sigue los pasos del README.md que fue generado. (En este proyecto README.md ha sido cambiado de nombre a README_SWAGGER.md).
Sigue los pasos:
python -m venv env ./env/Scripts/activate python -m pip install --upgrade pip pip install -r requirements.txt python -m swagger_server
Se presentan errores:
Solución encontrada en foros de github:
swagger-api/swagger-codegen#12278
De acuerdo a la solución de @rlinke:
Hay que Modificar el requirements.txt.
Yo prefiero crear un requirements nuevo con otro nombre: requirementsIssues12278.txt
Ejecuta lo siguiente:
deactivate rm -R env python -m venv env ./env/Scripts/activate python -m pip install --upgrade pip pip install -r requirementsIssues12278.txt python -m swagger_server
http://localhost:8080/v2/ui/
Si todo va bien te debe aparecer como sigue:
Si revisas la barra de menú superior, de color verde, ves un menu que dice Authorize. Dale click. Te aparecerá esto:
Revisando detenidamente, te darás cuenta que no estará consultando tu servidor local (localhost:8080)
Debería verse así:
Para solucionar esto debes hacer lo siguiente:
CTRL+C >>> en la consola donde tengamos corriendo el servidor.
Ir al siguiente archivo: ./swagger_server/swagger/swagger.yaml
Estando el archivo swagger.yaml remplaza todo
petstore.swagger.io
con
localhost:8080
Vuelve a correr el proyecto.
python -m swagger_server
Cuando ensayes un endpoint debe aparecer la respuesta:
"do some magic!"
Con ello, el sistema te dice que ya es hora de empezar a desarrollar los endpoint de la API.