Я предполагаю, что это довольно типичный сценарий: наше решение предоставляет API, созданный из контроллеров C# ядра asp, из которого мы генерируем swagger.json (используя https://github.com/domaindrivendev/Swashbuckle.AspNetCore).
Мы вызываем этот API в коде через клиент C#, созданный с помощью AutoRest (https://github.com/Azure/autorest).
Чтобы выполнить потенциально большую загрузку, мы хотели бы использовать наш сгенерированный AutoRest клиент для передачи потока от вызывающего объекта C# к нашему серверному, чтобы избежать сериализации/десериализации всего объекта.
Я не могу понять, как я мог бы использовать два инструмента вместе, чтобы передать поток с вызовом из нашего кода С#. Я пытался добавить его в качестве параметра, но это приводит к тому, что AutoRest создает модель «Stream» для System.IO.Stream, которая затем используется в качестве типа входного параметра, а не просто сохраняет исходный тип. Я пытался передать его как параметр [FromBody], но в дополнение к указанной выше проблеме AutoRest также вводит его как StringContent, прежде чем добавлять его в запрос вместо StreamContent (вероятно, потому что SwaggerGen не идентифицирует его как поток? ).
Буду признателен за любые советы. Но если мы не можем этого сделать, я думаю, мы всегда можем использовать HTTPClient вручную.