我正在编写一个用于接收JSON POST请求的Rest Framework视图。但是,传入请求没有Content-Type标头(有效HTTP),而documented,Rest Framework会抛出UnsupportedMediaType
并返回415 Unsupported Media Type
。
我不控制客户端。尽管没有声明的内容类型,我如何强制使用JSONParser
处理请求? (也许我可以在解析器处理之前访问底层请求?)
这是我目前的(简单)观点:
class Callback(APIView):
# this doesn't help
# parser_classes = (JSONParser,)
def post(self, request, format=None):
# ...operate on request.DATA
答案 0 :(得分:2)
看看编写自定义内容协商类。
http://www.django-rest-framework.org/api-guide/content-negotiation#custom-content-negotiation
您希望将其基于默认实现,但如果没有其他匹配则返回JSONParser
。