Django Rest Framework include_docs_urls, добавляющий _0 к действию

У нас есть URL-адреса в наших приложениях Django (Rest Framework), например:

r'^endpoint/(?P<item>[a-z_-]+)/$'
r'^endpoint/(?P<item>[a-z_-]+)/(?P<version>[0-9]+(\.[0-9])?)/$'

Оба имеют доступные методы POST.

Мы некоторое время использовали Swagger для документирования нашего API, но хотели взглянуть на документацию coreapi, включенную в Django Rest Framework.

Просматривая нашу документацию, основанную на приведенной выше структуре, действие coreapi приводит к следующему:

# Initialize a client & load the schema document
client = coreapi.Client()
schema = client.get("http://localhost:8081/docs/")

# Interact with the first url
action = ["app", "endpoint &gt; create"]

# Interact with the second url
action = ["app", "endpoint &gt; create_0"]

Я могу понять, откуда берется create_0, но в идеале вместо этого было бы добавлено имя ключевого слова в качестве суффикса, например. create_version.

Это возможно?


person ju5t    schedule 25.08.2018    source источник


Ответы (1)


Наличие двух ключевых слов сразу после друг друга кажется проблемой.

r'^endpoint/(?P<item>[a-z_-]+)/$'
r'^endpoint/(?P<item>[a-z_-]+)/(?P<version>[0-9]+(\.[0-9])?)/$'

Следует заменить на:

r'^endpoint/(?P<item>[a-z_-]+)/$'
r'^endpoint/(?P<item>[a-z_-]+)/version/(?P<version>[0-9]+(\.[0-9])?)/$'

Это даст вам:

action = ["endpoint", "item > version > create"]

Что выглядит намного чище.

person ju5t    schedule 26.08.2018