嵌套URL未在Django Rest Swagger中显示

时间:2017-02-15 11:37:39

标签: python django django-rest-framework swagger django-swagger

我正在尝试使用Django Rest Swagger记录我的Django REST API。

我的主要网址看起来像这样:

urlpatterns =[
    url(r'^tickers/', include('tickerapi.urls')),
]

tickerapi / urls

schema_view = get_swagger_view(title='Ticker API')

urlpatterns = [
    url(r'^docs/', schema_view),
    url(r'^(?P<channel_name>[-\w]+)/', include([
        url(r'^$', views.ChannelUpdateView.as_view(),name='channel_update'), 
        url(r'^ONAIR$', views.CarouselsOnAirContentList.as_view(),name='carousel_onair_content_list'),      
        url(r'^(?P<carousel_name>[-\w]+)$', views.CarouselUpdateView.as_view(), name='carousel_update'),
    ])),
]

如您所见,我的网址是嵌套的,以便有不同的视图处理以下网址:

  • / tickers / {channel_name} (操作:PUT,PATCH)
  • / tickers / {channel_name} / ONAIR (操作:GET)
  • / tickers / {channel_name} / {carousel_name} (操作:GET,PUT,PATCH)

我的问题是Django Rest Swagger只显示部分嵌套网址,如下所示: Django Rest Swagger Screenshot

据我所知,Django Rest Swagger正在考虑 / tickers / {channel_name} / tickers / {channel_name} / {carousel_name} 是同一个端点。实际上,如果我只对视图处理 / tickers / {channel_name} / {carousel_name} (使用ListAPIView)允许GET操作,则丢失的嵌套URL将在Swagger中显示,减去GET操作:{ {3}}

有没有人遇到过这个问题?我正在使用Django 1.10.5 ,Django Rest Framework 3.5.4 和Django Rest Swagger 2.1.1

谢谢你的帮助

0 个答案:

没有答案