Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
6 tasks done
marcgibbons opened this issue Sep 4, 2016 · 2 comments
Closed
6 tasks done

Comments

@marcgibbons
Copy link
Contributor

marcgibbons commented Sep 4, 2016

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')]
              )
         }
     }
)
marcgibbons added a commit to marcgibbons/django-rest-framework that referenced this issue Sep 4, 2016
- Demonstrate that an explicitly defined "list" view is not included in
  the schema generator Document when a "detail" view also exists.
@tomchristie
Copy link
Member

Thanks Marc.

@tomchristie
Copy link
Member

Resolved via #4527, which now checks for the list vs read case. Now in the version-3-5 branch.

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

No branches or pull requests

2 participants