我想这是一个非常典型的场景:我们的解决方案公开了一个由 asp 核心 C# 控制器构建的 API,我们从中生成一个 swagger.json(使用https://github.com/domaindrivendev/Swashbuckle.AspNetCore)。
我们通过使用 AutoRest ( https://github.com/Azure/autorest ) 生成的 C# 客户端在代码中调用此 api。
为了执行可能较大的上传,我们希望使用 AutoRest 生成的客户端将 Stream 从 C# 调用者传递到我们的后端,以避免必须序列化/反序列化完整的对象。
我不知道如何同时使用这两个工具来通过来自我们的 c# 代码的调用传入 Stream。我尝试将其添加为参数,但这会导致 AutoRest 为 System.IO.Stream 创建一个“流”模型,然后将其用作输入参数的类型,而不是仅保留原始类型。我已经尝试将它作为 [FromBody] 参数传递,但除了上述问题之外,AutoRest 还会在将其添加到请求而不是 StreamContent 之前将其键入为 StringContent (可能是因为 SwaggerGen 不将其识别为 Stream? )。
不胜感激 - 但如果我们不能这样做,我们总是可以手动使用 HTTPClient,我猜。