Колба-ответ

Колба-ответ


  • О Ответ:
    • Вид возвращаемого значения функции будет автоматически преобразован в объект ответа, логика преобразования Колбу выглядит следующим образом:
      • Если он возвращает строку, то колба воссоздана объект werkzeug.wrappers.Response, строка в качестве кода состояния 200 хоста Response, MIME является текст / HTML, а затем вернуть ответ
      • Если возвращение наследственное, тип данных наследственного должен быть (ответ, статус, заголовки). Статус переопределяет значение по умолчанию коды состояния 200, заголовок может быть список или словарь, в ответ на первое сообщение.
      • Если она возвращает объект Response возвращается непосредственно.
      • Если вышеуказанные условия не выполняются, то колба будет пытаться вызвать Response.force_type быть превращена в такой запрос
    • 1  из колбы импорта колбы, Response, jsonify
       2  
      3 приложения = Колба ( __name__ )
       4  
      5  
      6  класса JsonResponse (ответ):
       7      @classmethod
       8      Защиты force_type (ЦБС, ответ, Environ = None):
       9 ,          если isinstance (ответ, ДИКТ) :
       10              ответа = jsonify (ответ)
       11          возврата супер (JsonResponse, ЦБС) .force_type (ответ, Environ)
       12  
      13  
      14 app.response_class = JsonResponse
       15  
      16  
      17@ app.route ( ' / ' )
       18  Защиту индекс ():
       19      ответ = Ответ (ответ = ' Привет ' , состояние = 200, content_type = ' Текст / HTML, кодировка = UTF-8 ' )
       20      обратного ответа
       21  
      22  
      23 @ app.route ( ' / JSON ' )
       24  защиту json_test ():
       25      возвращение { ' привет ' : ' мир ' }
       26  
      27  
      28 ,  если __name__ == ' __main__ ' :
       29      app.run ()

       

    • колба пользовательского возврата классов объектов

      • Создайте пользовательский класс объекта должен наследовать класс Response
      • Когда вам нужно возвратить оригинал, чтобы встретить флягу не поддерживает возвращение определенного типа данных, необходимо переопределить метод класса force_type
      • Ответ затем обрабатывается так, чтобы объект родительского класса для обработки ответа
      • Класс приложения, чтобы вернуться, чтобы вернуть пользовательский класс

рекомендация

отwww.cnblogs.com/ivy-blogs/p/11503453.html