Nous aimerions créer un générateur de serveur Python aiohttp .
Semblable à la façon dont certains autres générateurs (par exemple R, Lua, PowerShell) sont créés, nous utiliserons le processus de rétro-ingénierie pour créer le générateur de client Lisp.
getPetById
, addPet
)Dernier maître
Si quelqu'un souhaite travailler là-dessus, veuillez répondre pour nous le faire savoir.
Hmm, cela a-t-il été complété par # 1470?
Je continue à rencontrer une erreur lors du démarrage du serveur Python aiohttp généré:: penser:
~/s/o/s/s/p/python-aiohttp (master|✔) $ python3 -m openapi_server
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/gabori/src/openapi-generator/samples/server/petstore/python-aiohttp/openapi_server/__main__.py", line 3, in <module>
from . import main
ImportError: cannot import name 'main'
Oui, doit être complété par # 1470
cc @Jyhess
@gaborigloi merci pour ce rapport. J'ai manqué de générer __init__.py.
Je vais le réparer dès que possible.
@gaborigloi, le problème a été résolu avec # 1933. Veuillez réessayer avec le dernier maître.
@Jyhess merci pour la rapidité de
Merci pour le correctif @Jyhess. Maintenant, cela fonctionnait bien lors de l'utilisation des spécifications v2 avec un basePath
.
Cependant, j'ai rencontré cette erreur de connexion en ne spécifiant pas de basePath
dans une spécification v2 ou en utilisant openapi v3 (qui ne semble pas avoir basePath
):
connexion.exceptions.ConnexionException: aiohttp doesn't allow to set empty base_path ('/'), use non-empty instead, e.g /api
Je me suis rendu compte que la raison en était qu'à la connexion self._only_one_api
était faux. Lors de l'appel du constructeur connexion.AioHttpApp
dans le serveur généré, l'argument only_one_api=False
doit être défini sur True s'il n'y a qu'une seule API, pour permettre aux spécifications avec une seule API d'avoir un chemin de base vide / pas .
Commentaire le plus utile
Merci pour le correctif @Jyhess. Maintenant, cela fonctionnait bien lors de l'utilisation des spécifications v2 avec un
basePath
.Cependant, j'ai rencontré cette erreur de connexion en ne spécifiant pas de
basePath
dans une spécification v2 ou en utilisant openapi v3 (qui ne semble pas avoirbasePath
):Je me suis rendu compte que la raison en était qu'à la connexion
self._only_one_api
était faux. Lors de l'appel du constructeurconnexion.AioHttpApp
dans le serveur généré, l'argumentonly_one_api=False
doit être défini sur True s'il n'y a qu'une seule API, pour permettre aux spécifications avec une seule API d'avoir un chemin de base vide / pas .