是全局禁用OPTIONS
方法。
根据官方的Django REST文档(https://www.django-rest-framework.org/api-guide/metadata/),正确的做法是将DEFAULT_METADATA_CLASS
设置为None
。
这可以解决问题。尝试发送OPTIONS卷曲请求后,服务器将以405
进行响应。
但是,API浏览器仍会在 Allow 下显示实际上不允许的方法:
如何在Django API浏览器的 Allow 下隐藏不受支持的方法?
答案 0 :(得分:1)
检查Disable a method in a ViewSet, django-rest-framework后,发现至少有3种好的方法可以解决此问题:
ModelViewSet
决定:
DEFAULT_METADATA_CLASS
设置为None
(以确保未公开未定义的方法)。http_method_names
(以将其隐藏在Browser API中)。