Openapi-generator: Ajouter le générateur de serveur Python "aiohttp"

Créé le 26 oct. 2018  ·  5Commentaires  ·  Source: OpenAPITools/openapi-generator

La description

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.

  • créer des exemples de serveur Python aiohttp petstore (implémenté au moins 2 points de terminaison pour commencer par: getPetById , addPet )
  • reverse engineering des templates et du générateur (classe Java)
  • tester le code généré automatiquement et réviser le générateur, les modèles
version openapi-générateur

Dernier maître

Suggérer un correctif / une amélioration

Si quelqu'un souhaite travailler là-dessus, veuillez répondre pour nous le faire savoir.

New generator Python help wanted

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 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 .

Tous les 5 commentaires

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 .

Cette page vous a été utile?
0 / 5 - 0 notes