Use Swagger Codegen para generar código de cliente de servidor de Python

Versión Swagger Codegen utilizada

swagger-codegen-cli-2.4.32.jar

generar codigo

java -jar swagger-codegen-cli.jar generate -i http://xxx.xxx.xxx.xxx:xxxx/v2/api-docs -l python --artifact-id=get-sign-code-gen-python -o  ./getSignCodeGenPython

La estructura de directorios generada se muestra en la siguiente figura
inserte la descripción de la imagen aquí

Configuración del entorno

Configurar entorno virtual (virtualenv opcional)

Utilizo el entorno virtual generado por virtualenv para ejecutar, y otros entornos virtualizados son iguales, así que aquí solo publico el comando virtualenv

$ virtualenv venv
$ source venv/bin/activate
$ pip install -r requirements.txt

Luego, el código generado por defecto debe modificarse o confirmarse en dos lugares

modificar el primer archivo

La ruta es swagger_client/api/ init.py La ruta original de DefaultApi es incorrecta y
no se puede importar, por lo que debe cambiarse a la siguiente imagen
inserte la descripción de la imagen aquí

segundo archivo

Confirme si DefaultApi se puede importar normalmente
inserte la descripción de la imagen aquí

tercer archivo

Es posible que la ruta del archivo swagger_client/configuration.py deba cambiar el protocolo https a http; de lo contrario, se informará un error de autenticación SSL.
inserte la descripción de la imagen aquí

empezar a probar

Creamos un archivo python nosotros mismos. Lo llamo testray.py aquí. Debe colocarse en el mismo directorio que el archivo setup.py, que es la capa más externa. Agregue el siguiente contenido

from __future__ import print_function
import swagger_client
from swagger_client.rest import ApiException
from pprint import pprint

# create an instance of the API class
api_instance = swagger_client.DefaultApi(swagger_client.ApiClient())
key = 'key_example' # str | key   这个key字段是非必要的

try:
    # 获取secret
    api_response = api_instance.get_secret_using_get(key) # 这里的get_secret_using_get请改成你们自己生成代码对应的方法,代码提示应该会显示有哪些方法的,不清楚的去 swagger_client/api/_api.py 这个文件的DefaultApi类下去找,有哪些方法
    pprint(api_response)
except ApiException as e:
    print("Exception when calling DefaultApi->get_secret_using_get: %s\n" % e)

En este momento, si ejecuto este archivo, se devolverá el resultado de la interfaz correspondiente.
inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_44388689/article/details/131644771
Recomendado
Clasificación