我们有一个API,我们通过React Native查询。
GET,POST请求在我们的应用程序或邮递员中完美无缺地工作。
DELETE在App上不起作用,但同样的请求适用于Postman。
甚至更奇怪的是:
如果我们使用Django或Postman删除资源,通过手机从我们的应用程序发出完全相同的请求将给我们404响应,告诉我们确实已删除它。
这意味着我们的应用程序调用应该可以正常工作,因为我们从API获得了答案!
所以,基本上,DELETE在应用程序中不起作用,但是如果我们从其他地方删除资源,它就像是真的一样。
我们从两部不同的手机上测试过,以防万一... 我们正在使用Expo。
我们的DELETE请求示例:
https://apiurl/reservations/id_num {“method”:“DELETE”,“headers”:{“Accept”:“application / json”,“Content-Type”:“application / json”,“X-App-Token “:”blablatoken“,”授权“:”JWT blablasuperlongtoken“}}
更新: MattyK14提出的问题很好,我们得到200响应,应该是我们的GET响应。 我们在这条路上进行了调查,但似乎找不到任何东西。
我们正在使用Axios重建API,因为我们找不到任何东西,我们会检查。
答案 0 :(得分:2)
发现了错误!
我们需要在API URL的末尾添加一个尾部斜杠。 Django会自动将您的DELETE请求转换为GET请求,如果它没有得到尾随斜杠。 感谢Matty和Arman的评论。