0 python django django-rest-framework
我使用以下 URL 模式来访问我的 API。
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^api_module/api/1.0/', include(router.urls, namespace='api')),
]
Run Code Online (Sandbox Code Playgroud)
我通过在 Swagger 中发布以下数据来创建 SQL 数据。
{
"description": "My Test",
"name": "SK.Test"
}
Run Code Online (Sandbox Code Playgroud)
但是,在通过 GET by Id 方法大肆访问时,我将 id 指定为名称SK.Test,并且收到 api not found 错误。像这样,
" Not Found : /api_module/api/1.0/mytest/SK.Test "
Run Code Online (Sandbox Code Playgroud)
但如果像这样创建,
{
"description": "My Test",
"name": "SK_Test"
}
Run Code Online (Sandbox Code Playgroud)
我可以在运行时通过下面的 API 获取详细信息。
/api_module/api/1.0/mytest/SK_Test
Run Code Online (Sandbox Code Playgroud)
我想通过使用点的 id 方法获取详细信息。希望你明白我的问题。有人可以解答我的疑问吗?
默认路由器专门从它匹配的模式中排除点。如果你想包含它们,你需要lookup_value_regex在你的视图集中定义。
class MyViewset(viewsets.GenericViewSet):
lookup_value_regex = r"[\w.]+"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1663 次 |
| 最近记录: |