Swagger Codegen を使用して Python サーバー クライアント コードを生成する

使用される Swagger Codegen のバージョン

swagger-codegen-cli-2.4.32.jar

コードを生成する

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

生成されたディレクトリ構造は次の図に示されています
ここに画像の説明を挿入

環境構成

仮想環境の構成 (virtualenv はオプション)

virtualenv によって生成された仮想環境を使用して実行しますが、他の仮想化環境も同様であるため、ここでは virtualenv コマンドを投稿するだけです。

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

次に、デフォルトで生成されたコードを 2 か所で変更または確認する必要があります。

最初のファイルを変更する

パスは swagger_client/api/ init.pyです。元の DefaultApi パスは間違っていて
インポートできないため、次の図に変更する必要があります
ここに画像の説明を挿入

2番目のファイル

DefaultApiが正常にインポートできるか確認する
ここに画像の説明を挿入

3番目のファイル

ファイル パス swagger_client/configuration.py でプロトコル https を http に変更する必要がある場合があります。変更しないと、SSL 認証エラーが報告されます。
ここに画像の説明を挿入

テストを開始する

Python ファイルを自分で作成します。ここでは testray.py とします。最外層の setup.py ファイルと同じディレクトリに配置する必要があります。以下の内容を追加します

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)

このとき、このファイルを実行すると、対応するインターフェイスの結果が返されます。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_44388689/article/details/131644771