我正在使用以下URL模式访问我的API。
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^api_module/api/1.0/', include(router.urls, namespace='api')),
]
我通过在Swagger中发布以下数据来创建SQL数据。
{
"description": "My Test",
"name": "SK.Test"
}
但是在通过Id方法GET访问时,我将ID命名为SK.Test
,但我得到api not found错误。像这样
" Not Found : /api_module/api/1.0/mytest/SK.Test "
但是如果创建类似
{
"description": "My Test",
"name": "SK_Test"
}
我可以在运行时通过以下API获取详细信息。
/api_module/api/1.0/mytest/SK_Test
我想通过使用点号的id方法获取详细信息。希望你理解我的问题。有人可以澄清我的疑问吗?
答案 0 :(得分:1)
默认路由器专门从其匹配的模式中排除点。如果要包括它们,则需要在视图集中定义lookup_value_regex
。
class MyViewset(viewsets.GenericViewSet):
lookup_value_regex = r"[\w.]+"