Eli*_*isa 22 python django django-rest-framework
我使用django-rest-framework创建了RESTFul API.用户端点是
/api/v1/users
Run Code Online (Sandbox Code Playgroud)
我想创建新用户.我以JSOn格式发送用户数据.
{
"username": "Test1",
"email": "test1@gmail.com",
"first_name": "Test1",
"last_name": "Test2",
"password":"12121212"
}
Run Code Online (Sandbox Code Playgroud)
我正在使用Chrome扩展程序Postman来测试api.但用户数据尚未保存.回应是:
{
"detail": "Unsupported media type \"text/plain;charset=UTF-8\" in request."
}
Run Code Online (Sandbox Code Playgroud)
附上截图
Rah*_*pta 40
您错过了Content-Type
在标题部分添加标题.只需将Content-Type
标题设置为application/json
,它应该工作.
见下图:
此外,您可能还需要在标头中包含CSRF令牌,以防您{"detail": "CSRF Failed: CSRF token missing or incorrect."}
在POST
使用Postman 发出请求时出错.在这种情况下,添加一个X-CSRFToken
带有值的标头作为CSRF标记值.
您需要执行两个步骤来完成此问题:
Content-Type
带有application/json
值的标头Authorization
带有Token {YOUR_CUSTOM_TOKEN}
值的标头以传递CSRFToken注意:如果要对会话进行身份验证,则无需执行第二步,但如果要将此API用于移动设备,则必须将Authorization标头传递给服务器
我希望它有所帮助
如果有人遇到像我这样的问题,我会发布此答案。
我正在使用Angular 2和Django Rest Framework制作的API 来开发前端应用程序,并且我曾经使用以下标头发送请求:
'Content-Type': 'application/json'
Run Code Online (Sandbox Code Playgroud)
直到我在Fire Fox上尝试了它并且无法加载所需的数据,并通过添加以下标头解决了该问题后
'Content-Type': 'application/json',
'Accept': 'application/json'
Run Code Online (Sandbox Code Playgroud)
这是一个解释,Content-Type
告诉服务器数据的内容类型是什么,而告诉服务器Accept
客户端将支持哪种内容类型。
关于此问题,这是一个很好的明确答案:
归档时间: |
|
查看次数: |
15803 次 |
最近记录: |