我只是想知道是否可以像这样在django中创建一个大的url模式:
url(r'^/foo('/limit/(?P<limit>\d+)/|/offset/(?P<offset>\d+)/|/limit/(?P<limit>\d+)/offset/(?P<offset>\d+)/|/offset/(?P<offset>\d+)/limit/(?P<limit>\d+)/?$', 'foo', name='foo'),
避免写:
url(r'^/foo/limit/(?P<limit>\d+)/?$', 'foo', name='foo'),
url(r'^/foo/offset/(?P<offset>\d+)/?$', 'foo', name='foo'),
url(r'^/foo/limit/(?P<limit>\d+)/offset/(?P<offset>\d+)/?$', 'foo', name='foo'),
url(r'^/foo//offset/(?P<offset>\d+)/limit/(?P<limit>\d+)/?$', 'foo', name='foo'),
我收到第一个分组错误。
我的目标是为每个端点只写一个网址,以便加快django搜索网址的正则表达式模式,因为如果我写了大量网址模式需要花费很多,尽管每个端点只需编写一个网址并且{ {1}},limit
可选,但是当我想写offset
时,这是行不通的我希望能够以任何顺序为params发出请求(想象我有7个参数用于终点......看看这是怎么回事?)
有任何想法或建议吗?
由于
答案 0 :(得分:0)
在大多数REST API中,我看到“limit”和“offset”(或“start”和“count”)是查询参数:
https://blog.apigee.com/detail/restful_api_design_can_your_api_give_developers_just_the_information