postman调用接口报{“detail“:“Method \“DELETE\“ not allowed.“}错误, 解决记录

项目是python代码开发, urls.py 路由中访问路径代码如下:

复制代码
urlpatterns = [
    path('reportmanagement/<int:pk>/', views.ReportManagementDetail.as_view(), name='report-management-detail'),

]

对应view视图中代码如下:

复制代码
class ReportManagementDetail(GenericAPIView):
    """报表管理:删除、修改"""
    serializer_class = ReportManagementSerializer
    queryset = ReportManagement.objects.all()

    def delete(self, request, *args, **kwargs):
        """删除报表列表

        :param: id:int
        :return:
        """
        instance = self.get_object()
        name = instance.name
        instance.delete()
        data = response_data(code=200, result=[], msg="删除成功")
        return Response(data, status=status.HTTP_200_OK)

上面代码可以看到我要执行的是一个删除操作, 使用的是python drf模型, 自己使用postman调用,界面参数如下:

会发现下面就报出了Method not allowed的错误提示信息, 经过查阅资料有说改什么windows电脑设置的, 还有在方面上面加代码说告诉postman这是一个detete请求, 还有其他的解决办法, 自己就不在此一一指出, 但当发现其他博客说的办法都不适合自己项目的情形, 然后找了之前的项目代码和使用postman调用执行delete请求的历史记录, 以及填写参数的位置, 发现了问题的症结所在, 其实处理办法很简单, 只需要去掉url传递参数的问好?和参数名=即可正常调用接口, 正常调用postman请求界面如下:

大家应该能看到, url只需填上需要删除数据的id具体对应的数值即可, 不用填写参数名=数值

原因其实也很简单, 在最上面urls.py路由代码文件中,

复制代码
path('reportmanagement/<int:pk>/', views.ReportManagementDetail.as_view(), name='report-management-detail'), python函数: reportmanagement/<int:pk>/

/<int:pk/代码已经明确告诉了我们答案, 传递的参数类型是int,然后直接填写具体数值即可

以上只贴出了最最关键部分的代码, 不包括包,路径, 各种导入的第三库等等, 只是作为一个记录, 介绍下解决这个问题的思路和办法, 不代表大家遇到Method Not Allowed都是这种解决方案, 各自情况大家自行具体分析对待, 好了今天文章的就先到这, 感谢您的查阅, 我们下期见♪♪♪

相关推荐
程序员小远6 小时前
自动化测试与功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
Petrichorzncu14 小时前
Lua再学习
开发语言·学习·lua
第三方软件测评16 小时前
第三方软件测评中心分享:软件功能测试类型和测试工具
功能测试·测试工具
mikey棒棒棒18 小时前
lua脚本+Redission实现分布式锁
redis·分布式·lua·看门狗·redission
weixin_428498491 天前
在Lua中使用轻量级userdata在C/C++之间传递数据和调用函数
c语言·c++·lua
慢一点会很快1 天前
【网络分析工具】网络工具wireshark、TCPdump、iperf使用详解
测试工具·wireshark·tcpdump
海尔辛2 天前
学习黑客抓包wireshark
学习·测试工具·wireshark
在下小孙3 天前
Lua—元表(Metatable)
开发语言·lua·元表
JavaAlpha3 天前
高频面试题:设计秒杀系统,用Redis+Lua解决超卖
数据库·redis·lua
黑客笔记3 天前
sql注入漏洞的对抗
数据库·sql·测试工具