2013-02-14 7 views
6

Ich benutze http://django-rest-framework.org/ Tokens und versuche nun einen Token zu bekommen. Ich bin den Führern gefolgt. AllerdingsDjango REST: Nicht unterstützter Medientyp 'application/xml' in Anfrage

Wenn ich versuche, einen Beitrag zu der URL zu machen:

Request Url: http://127.0.0.1:8001/api-token-auth/ 
Request Method: POST 
Status Code: 415 
Params: { 
    "username": "test", 
    "password": "test123" 
} 

erhalte ich die folgende Antwort

{ 
    "detail": "Unsupported media type 'application/xml' in request." 
} 

Warum ist das?

Vielen Dank.

Antwort

6

Offenbar senden Sie eine Anfrage mit XML-Inhalt.

Wie die docs note, erwartet die Ansicht "auth_auth_token" eine JSON-Anfrage.

Stellen Sie sicher, dass die Daten JSON-codiert sind und dass Sie den Header 'Content-Type' korrekt auf 'application/json setzen.

1

Dies liegt daran, dass django-rest-framework Daten in mehr als einem Format zurückgeben kann. Es entscheidet scheinbar über das Format, indem es den HTTP-Header "Accept:" in der Anfrage betrachtet. Versuchen Sie, den Wert dieses Headers beispielsweise in "application/json" zu ändern.

+0

Das ist ähnlich, aber tatsächlich akzeptieren falsche Header eine "406 nicht akzeptabel" Antwort zurück. –

+0

Oh, okay. Ich wusste nichts über die Spezifität von "erhalte_auth_token". – ssidorenko