3

これは非常に典型的なシナリオだと思います。私たちのソリューションは、asp コア C# コントローラーから構築された API を公開し、そこから swagger.json を生成します ( https://github.com/domaindrivendev/Swashbuckle.AspNetCoreを使用)。

AutoRest ( https://github.com/Azure/autorest ) を使用して生成した C# クライアントを介して、コードでこの API を呼び出します。

潜在的に大きなアップロードを実行するには、AutoRest で生成されたクライアントを使用して Stream を C# 呼び出し元からバックエンドに渡し、完全なオブジェクトをシリアル化/逆シリアル化する必要がないようにします。

2 つのツールを一緒に使用して、C# コードからの呼び出しで Stream を渡す方法がわかりません。パラメータとして追加しようとしましたが、これにより AutoRest が System.IO.Stream の「ストリーム」モデルを作成し、元の型を維持する代わりに入力パラメータの型として使用されます。[FromBody] パラメータとして渡そうとしましたが、上記の問題に加えて、AutoRest はそれを StringContent として入力してから、代わりに StreamContent をリクエストに追加します (SwaggerGen がそれを Stream として識別しないためでしょうか? )。

アドバイスをいただければ幸いです-しかし、これができない場合は、いつでも HTTPClient を手動で使用できると思います。

4

1 に答える 1