按照以下链接的说明,我成功为我的Django应用程序构建了一个REST API:http://django-rest-framework.org/tutorial/quickstart.
我可以通过在Unix提示符下执行以下操作来测试它:
curl -H 'Accept: application/json; indent=4' -u root:myPassword http://www.myWebsite.com/users/
有用 :)
但是,我想使用Chrome扩展程序Advanced Rest Client来测试相同的功能.我已经安装了扩展程序,但我不知道在哪里/如何放置字段.当我做出受过教育的猜测时(正如您在屏幕截图中看到的那样),它拒绝它说"未提供身份验证凭据"
我应该如何/在何处将参数指定给REST API?
可发现性令人沮丧,但Advanced Rest Client处理基本身份验证的方式非常巧妙.提到的亚伯拉罕的捷径对我来说并不起作用,但是一点点的探讨就揭示了它是如何做到的.
您需要做的第一件事是添加Authorization
标题:
然后,当您聚焦value
输入时,会弹出一个漂亮的小东西(请注意右下方的"构造"框):
单击它将弹出一个框.如果你愿意,它甚至可以做OAuth!
田田!如果你点击"构造"时将值字段留空,它会将Basic
部分添加到它(我假设它也会添加必要的OAuth东西,但我没有尝试,因为我目前的需求是基本的身份验证),所以你不需要做任何事情.
从屏幕截图中我可以看到您想要将"用户"和"密码"值传递给服务.您已在请求标头部分中发送了错误的参数值.值在请求正文中发送,而不是在请求标头中发送.你的语法也错了.正确的语法是:{"user":"user_val","password":"password_val"}.
还要检查内容类型是什么.它应与您为服务设置的内容类型相匹配.
这似乎是一个非常古老的问题,但我提供了一个答案,以便它可以帮助其他人.您可以在表单部分的第二个屏幕中指定变量,如下所示,或者通过附加第二个图像中显示的变量以RAW格式指定变量.
如果变量和变量值有效,则应在响应部分中看到成功的响应.
通常用于基本身份验证的快捷方式是http://username:password@example.com/path
.您还需要在请求中包含accept标头.