【问题标题】:Forcing parsing of request with no Content-Type with Rest Framework使用 Rest Framework 强制解析没有 Content-Type 的请求
【发布时间】:2014-09-24 16:01:30
【问题描述】:

我正在编写一个用于接收 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

【问题讨论】:

    标签: django rest django-rest-framework django-1.7


    【解决方案1】:

    看看编写自定义内容协商类。

    http://www.django-rest-framework.org/api-guide/content-negotiation#custom-content-negotiation

    您需要基于默认实现,但如果没有其他匹配项,则返回 JSONParser

    【讨论】:

      猜你喜欢
      • 2014-05-24
      • 2015-04-28
      • 1970-01-01
      • 2013-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      相关资源
      最近更新 更多