2016-12-03 5 views
0

Мы реализовали службу REST на основе Python, которая определяет конечные точки через Swagger. На стороне клиента мы используем bravado library. Эта комбинация работает отлично для всех, кроме одной конечной точки. Эта конечная точка должна вернуть большой набор данных, который не может быть сохранен в памяти и должен быть потоковым. Я хочу отправить одну запись за раз и каждую строку, как описано here. В соответствии с specification должно быть возможно использовать «файл» в качестве типа данных, но я не смог найти примеры для входного файла (например, загрузки файлов) и ни один из них для загрузки файлов.Укажите «потоковый» ответ в swagger.yml, чтобы отправить данные постепенно клиенту бравады.

Любой намек на то, как указать потоковый вывод через Swagger и как его получить через клиент bravado?

ответ

0

В схеме Swagger произошла ошибка, как вы можете найти здесь: https://github.com/OAI/OpenAPI-Specification/issues/260 Библиотека, которую я использовал, по-прежнему использовала старую схему. И обновление решило проблему. Клиент бравады пытается загрузить все данные в память, что делает его непригодным для использования в моем случае, но в целом он работает, если вы используете последнюю схему и если ваши данные вписываются в память.

Смежные вопросы