Skip to content

SwaggerRenderer example doesn't match the ";version=2.0" part of media_type #4287

Description

@osantana

Checklist

  • I have verified that that issue exists against the master branch of Django REST framework.
  • I have searched for similar issues in both open and closed tickets and cannot find a duplicate.
  • This is not a usage question. (Those should be directed to the discussion group instead.)
  • This cannot be dealt with as a third party library. (We prefer new functionality to be in the form of third party libraries where possible.)
  • I have reduced the issue to the simplest possible case.
  • I have included a failing test as a pull request. (If you are unable to do so we can still accept the issue.)

Steps to reproduce

Implement the documentation example of SwaggerRenderer at: https://github.com/tomchristie/django-rest-framework/blame/master/docs/api-guide/schemas.md#L244

And try to get an HTTP request to an endpoint that uses this renderer:

http http://127.0.0.1:8000/v1/ Accept:application/openapi+json;version=2.0

Expected behavior

Get a JSON with Swagger API Schema.

Actual behavior

Get an HTTP 406:

HTTP/1.0 406 Not Acceptable
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Date: Tue, 19 Jul 2016 19:51:47 GMT
Server: WSGIServer/0.2 CPython/3.5.1+
Vary: Accept
X-Frame-Options: SAMEORIGIN

{
    "detail": "Could not satisfy the request Accept header."
}

Preliminar analisys

I've found that media_type doesn't match "version" parameter correctly in the following lines (even with */*; q=0.8 media type):

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions