У меня есть веб-приложение для колб, работающее в Production с использованием Python 2.7.5 и mod_wsgi 3.4.Веб-приложение работает нормально в локальной и локальной петлях.
Недавно я добавил Flask Restplus API (3 метода).Все работает локально: мое веб-приложение работает нормально, 3 метода Api Rest отвечают корректно, и документы / swagger видны / работают по адресу /api/documentation.
Однако на рабочем сервере, использующем mod_wsgi, мое веб-приложение работает нормально, мой отдыхAPI работает, но если я получаю доступ к документам Swagger на http://mydomain/api/documentation,, я получаю две ошибки в журнале ошибок httpd:
Exception occurred processing WSGI script ...
TypeError: expected byte string object for header name, value of type unicode found
EDIT * в журнале доступа все запросы 200 ... только 500ошибка вызвана /api/swagger.json ... Есть даже 200 для / api / документации, что может быть причиной того, что заголовок и фавикон swagger загружаются на вкладку браузера, но под этим сообщением написано «Определение API не указано»
Сейчас я пытаюсь установить заголовки ответа следующим образом (с charset = UTF-8):
resp = app.response_class(
response=json.dumps(found_resource),
status=200,
content_type='application/json; charset=UTF-8'
)
return resp
и
response = app.response_class(
response=json.dumps({'success': False}),
status=400,
content_type='application/json; charset=UTF-8'
)
return response
Я задаю заголовокк объекту байтовой строки правильно для ответов?Любой ответ является либо словарем json, либо списком словарей json.
Я немного запутался, потому что из этого отчета об ошибках создается впечатление, что установка кодировки не является необходимой и, возможно, избыточной с использованием content_type= 'приложения / JSON;кодировка = UTF-8