Python 在一条路径上分隔多个单词的约定是什么?
我有两条路线:Python 在一条路径上分隔多个单词的约定是什么?,python,flask,Python,Flask,我有两条路线: api.add_resource(X, "/<string:stage>/api/sales/by-type") api.add_resource(Y, "/<string:stage>/api/sales/filters/by-type") api.add_资源(X,“//api/sales/by type”) api.add_资源(Y,“//api/sales/filters/by type”) 它应该是/按
api.add_resource(X, "/<string:stage>/api/sales/by-type")
api.add_resource(Y, "/<string:stage>/api/sales/filters/by-type")
api.add_资源(X,“//api/sales/by type”)
api.add_资源(Y,“//api/sales/filters/by type”)
它应该是
/按类型
还是/按类型
/by/type
会很奇怪,因为/by
本身就是一条路线,这毫无意义。找不到任何关于它的文档。@nitul是对的,它一般是关于API设计的,但是连字符常用于URL,即使它不是标准的或官方的,但被视为最佳实践,seo友好,URL更优雅和漂亮
另一方面,我想提请您注意URL中的一些特定/额外参数,如过滤器、排序和分页,将它们与您的基本/规范url//api/sales
一起用作额外参数更为合理,因为您提到的两条路线在逻辑上是相同的。看看这篇好文章,它详细阐述了这个主题,并采用了好的模式。已经说过,您只需要一条路线:
api.add_resource(X, "/<string:stage>/api/sales")
api.add_资源(X,“//api/sales”)
然后根据url中的额外参数,例如:?type=type
,返回适当的对象集,这样API就更加紧凑(避免了冗余),并且易于维护和扩展
另外,由于您使用的是
Flask
,并且根据您的需要(如果有),请考虑自定义URL转换器(本主题将帮助您)您的问题更像是API设计问题,而不是与Flask相关的约定。话虽如此,请看看这个问题=>。它似乎解决了更大的设计问题。