Что эти аргументы означают в swagger_auto_schema (Django)? - PullRequest
3 голосов
/ 08 октября 2019

В проекте используется чванство. Существует следующий код:

@swagger_auto_schema(
        manual_parameters=[
            Parameter('download', IN_QUERY,
                      'Set `Content-Disposition=attachment` to make browser to download file'
                      'instead of showing it.',
                      type='bool'),
            Parameter('share_id', IN_PATH, type='uuid')
        ],
        security=[],
        responses={'400': 'Validation Error (e.g. base64 is wrong)',
                   '200': VideoSerializer}
    )

Пожалуйста, объясните, за что отвечает каждый аргумент. Я прочитал документацию, но мало что понял ... Особенно интересует '200': VideoSerializer

1 Ответ

1 голос
/ 08 октября 2019

responses

Аргумент ответов представляет собой словарь возможных ответов, которые может вернуть эта конечная точка.

400 и 200 равны Коды ответов HTTP , Плохой запрос и OK соответственно.

В этом случае это означает, что эта конечная точка может генерировать два типа ответов:

  • Плохой запрос, которыйтакже возвратит (как описано) ошибку проверки, что означает, что что-то в запросе было неверным, что означает, что оно не может быть обработано правильно.

  • OK, что означает, что запрос правильный,и все было обработано правильно. VideoSerializer означает, что ответ будет дан в соответствии со структурой VideoSerializer, которая определяет набор полей.


Два других аргумента:

manual_parameters

Это пользовательский список параметров, который можно добавить в запрос для настройки ответа. В этом случае определяются два параметра:

  • download: параметр запроса типа bool. Параметры запроса передаются следующим образом: example.com?query_parameter=true
  • share_id, параметр пути типа 'uuid'. Параметры пути передаются следующим образом: example.com/path_parameter

security Список схем безопасности, которым должен соответствовать запрос. Используется, например, для обычной аутентификации.

...