将某些内容作为路径的一部分和参数作为参数是否等效?

亚米尔·布加塔

现在,我有两种方法可以(显然)在我的应用程序中完成同一件事。我可以使自己的网址看起来像这样https:// something / product / shirthttps:// something / product?q = shirt在这两种情况下,我都可以从中提取所需的东西,那就是衬衫。

第一种方式(使用正则表达式):

class FirstHandler(BaseHandler):
    def get(self, page_id):
        target = page_id

PAGE_RE = r'(/(?:[a-zA-Z0-9_-]+/?)*)'
app = webapp2.WSGIApplication([('/something' + PAGE_RE, FirstHandler)],
                               debug=True)

我处理它的第二种方法是使用参数,它看起来像这样:

class SecondHandler(BaseHandler):
    def get(self):
        target = self.request.get('q')

app = webapp2.WSGIApplication([('/something' SecondHandler)],
                               debug=True)

我的问题是,这些方法是否等效?如果我做一个或另一个,是否一样?还是我必须考虑其他事项?

安德烈·沃尔金(Andrei Volgin)

查看您希望提出的所有请求,并确定其中哪些应由唯一的端点(/shirt)表示,哪些将允许一个或多个参数。您可以在必要时组合使用这些方法。

使用URL路径或参数没有性能损失或任何其他优势。关键因素是:

  • 了解您的API是否被外部开发人员使用,将多么容易
  • 组织和维护代码有多么容易
  • 当您需要扩展方法时,您的方法有多灵活

例如,/shirt现在看起来像个好主意,但是一旦您拥有成千上万种产品类型,维护就成了噩梦。相反,您可能想要使用类似以下的内容:

/product/?type=shirt&size=10&orderBy=price&results=20&offset=40

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Slim 3-斜线作为路径参数的一部分

来自分类Dev

将 null 作为 vararg 参数的一部分从 Kotlin 传递给 Java 方法

来自分类Dev

添加额外的数据作为url的一部分,而不作为参数

来自分类Dev

Dao 对象 queryForId 将长度为 0 的字符串作为参数的一部分?

来自分类Dev

代码的一部分作为模板参数

来自分类Dev

默认参数作为COM接口的一部分

来自分类Dev

使用字符串作为参数的一部分

来自分类Dev

如何使用函数参数作为变量的一部分?

来自分类Dev

参数作为url的一部分而不是问号之后

来自分类Dev

Mixin 参数作为类名的一部分

来自分类Dev

将标题作为CURL的一部分

来自分类Dev

将 access_token 作为 websocket url 查询参数的一部分发送是否安全?

来自分类Dev

匹配路径名的第一部分和行尾的数字

来自分类Dev

在链接上使用:before和:after而不将内容作为链接的一部分

来自分类Dev

将数组的一部分作为函数参数传递

来自分类Dev

将参数作为Rails中url的一部分发送

来自分类Dev

将数组的一部分作为函数参数传递

来自分类Dev

如何将反应状态中的值作为变量包含在 API 调用中作为查询参数的一部分

来自分类Dev

Active Directory:是否可以将 Computer$ 帐户作为组的一部分(例如 USERS 组的一部分)

来自分类Dev

Inno Setup使用一部分应用程序路径作为图标路径

来自分类Dev

TagHelper,用于以/ users / edit / 10格式将路径值作为链接的一部分传递

来自分类Dev

TagHelper,用于以/ users / edit / 10格式将路径值作为链接的一部分传递

来自分类Dev

如何传递运行时参数作为依赖关系解决方案的一部分?

来自分类Dev

Facebook“代码”参数作为OAuth身份验证查询字符串的一部分

来自分类Dev

如何在接口块内指定模块变量作为伪参数声明的一部分?

来自分类Dev

将 Jquery 函数参数作为动态控制的下拉选项的一部分传递到 PHP 函数中

来自分类Dev

如何编写正确的zipfile校验和值,并将其作为zipfile内容的一部分

来自分类Dev

将第一行的一部分和第二行的一部分用作python pandas中的列标题

来自分类Dev

使用剪切路径作为标题的一部分

Related 相关文章

  1. 1

    Slim 3-斜线作为路径参数的一部分

  2. 2

    将 null 作为 vararg 参数的一部分从 Kotlin 传递给 Java 方法

  3. 3

    添加额外的数据作为url的一部分,而不作为参数

  4. 4

    Dao 对象 queryForId 将长度为 0 的字符串作为参数的一部分?

  5. 5

    代码的一部分作为模板参数

  6. 6

    默认参数作为COM接口的一部分

  7. 7

    使用字符串作为参数的一部分

  8. 8

    如何使用函数参数作为变量的一部分?

  9. 9

    参数作为url的一部分而不是问号之后

  10. 10

    Mixin 参数作为类名的一部分

  11. 11

    将标题作为CURL的一部分

  12. 12

    将 access_token 作为 websocket url 查询参数的一部分发送是否安全?

  13. 13

    匹配路径名的第一部分和行尾的数字

  14. 14

    在链接上使用:before和:after而不将内容作为链接的一部分

  15. 15

    将数组的一部分作为函数参数传递

  16. 16

    将参数作为Rails中url的一部分发送

  17. 17

    将数组的一部分作为函数参数传递

  18. 18

    如何将反应状态中的值作为变量包含在 API 调用中作为查询参数的一部分

  19. 19

    Active Directory:是否可以将 Computer$ 帐户作为组的一部分(例如 USERS 组的一部分)

  20. 20

    Inno Setup使用一部分应用程序路径作为图标路径

  21. 21

    TagHelper,用于以/ users / edit / 10格式将路径值作为链接的一部分传递

  22. 22

    TagHelper,用于以/ users / edit / 10格式将路径值作为链接的一部分传递

  23. 23

    如何传递运行时参数作为依赖关系解决方案的一部分?

  24. 24

    Facebook“代码”参数作为OAuth身份验证查询字符串的一部分

  25. 25

    如何在接口块内指定模块变量作为伪参数声明的一部分?

  26. 26

    将 Jquery 函数参数作为动态控制的下拉选项的一部分传递到 PHP 函数中

  27. 27

    如何编写正确的zipfile校验和值,并将其作为zipfile内容的一部分

  28. 28

    将第一行的一部分和第二行的一部分用作python pandas中的列标题

  29. 29

    使用剪切路径作为标题的一部分

热门标签

归档