Skip to content

Schema generator overwrites explicitly defined url patterns to views with common methods. #4463

Closed
@marcgibbons

Description

@marcgibbons

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

  • Create 2 API views with a get method
  • Define urlpatterns for the views: one as a "list", one as a "detail" (i.e. /snippets/, /snippets/{pk})
  • Generate the schema

Expected behaviour

Given a "list" and "detail" view with explicitly defined urlpatterns, and that the views support common HTTP methods, Document Link objects should be created for both the "list" and "detail" endpoints.

Actual behaviour

A link is only created for the "detail" route.

Document(
    url='', 
    title='Test View', 
    content={
        'snippets': {
              'read': Link(
                  url='/snippets/{pk}/', 
                  action='get', 
                  fields=[Field('pk', required=True, location='path')]
              )
         }
     }
)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions