2016-12-19 2 views
0

Мне сложно настроить eve. Клиент http ожидает, что ответ будет в этом формате, где он начинается с HTTP/1.1 и кодов ответов, а затем заголовков. Возвращение - это что-то вроде XML-формата. Что я получаю обратно показано ниже:Ответ от Eve xml на http?

Это то, что я ожидал:

0 0 48545450 2F312E31 20323030 204F4B0D HTTP/1.1 200 OK. 
16 10 0A436F6E 74656E74 2D547970 653A2074 .CONTENT -TYPE: T 
32 20 6578742F 706C6169 6E0D0A43 6F6E7465 EXT/PLAI N..CONTE 
48 30 6E742D4C 656E6774 683A2030 30303035 NT-LENGT H: 00005 
64 40 3531350D 0A0D0A00 00158700 00002056 515..... ...... V 
80 50 50545231 50324134 33323235 39303846 PTR1P2A4 3225908F 
96 60 41524553 52434147 46415242 54334130 ARESRCAG FARBT3A0 
112 70 30333441 44535230 30304630 30303131 034ADSR0 00F00011 

Это то, что я получаю от текущего кода:

0 0 3C686561 643E0A3C 7469746C 653E4572 <head>.< title>Er 
16 10 726F7220 72657370 6F6E7365 3C2F7469 ror resp onse</ti 
32 20 746C653E 0A3C2F68 6561643E 0A3C626F tle>.</h ead>.<bo 
48 30 64793E0A 3C68313E 4572726F 72207265 dy>.<h1> Error re 
64 40 73706F6E 73653C2F 68313E0A 3C703E45 sponse</ h1>.<p>E 
80 50 72726F72 20636F64 65203430 302E0A3C rror cod e 400..< 
96 60 703E4D65 73736167 653A2042 61642072 p>Messag e: Bad r 
112 70 65717565 73742073 796E7461 78202827 equest s yntax (' 

И это ток код:

my_settings = { 
    'ALLOW_UNKNOWN':'True', 
    'MONGO_HOST':'localhost', 
    'MONGO_PORT':27017, 
    'MONGO_DBNAME':'mydb', 
    'DOMAIN': {'pnr': {}}, 
    'RESOURCE_METHODS': ['GET', 'POST'], 
    'X-HTTP-Method-Override':'PATCH', 
    'XML':'False', 
    'JSON':'True', 
    'ITEM_METHODS':['GET','PATCH'] 
} 

from eve import Eve 
app = Eve(settings=my_settings) 
app.run(host='10.4.113.103') 

ответ

1

Ева может отвечать как в JSON, так и в формате XML, но, судя по всему, поддержка формата не требуется (http://python-eve.org/features.html#jsonxml).

Во всяком случае True и False являются значением Python типа BOOL, они должны быть написано без кавычек иначе Python принимает их как (оцениваются и непустые строки в Python, как булевы имеет истинное значение) строка.

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