【问题标题】:what's the difference in between ? or / in an http request有什么区别?或 / 在 http 请求中
【发布时间】:2020-03-07 03:29:12
【问题描述】:

我从nestjs 开始,这里有一个非常简单的问题......我需要在我的应用程序上设置一个控制器,该控制器有一个带有路径('/: id') 的删除处理程序。要通过邮递员进入这个处理程序,我只需要通过 (http://localhost:3000/tasks/id) 到达它,但处理程序是这样指定的:(deleteTask (@Param('id') id: string) - 在这种情况下,通过邮递员我只需要在“查询参数”中包含 id ...因此,我的 HTTP 请求将是这种方式(http://localhost:3000/tasks?id=xxx)。最后,我的问题是, 带'/'的@Param和转换成''的Query Param有什么区别

这是我的处理程序:

@Delete('/:id')
    deleteTask(@Param('id') id: string){
        return this.taskService.deleteTask(id);
    }

【问题讨论】:

标签: typescript nestjs


【解决方案1】:

是的!我知道了!这是因为为了得到'? param 我们需要用@FormParam 来标记它,而不是@Param 自己。多谢你们!! :D

【讨论】:

    【解决方案2】:

    / 是一条路径。

    URL 中的路径(或词干)类似于计算机上文件的文件路径。它通常具有固有的向下钻取/树结构,以某种组织方式使用“/”。路径还可以包含文件名,如果有的话:index.htm、products.php、about.html 等。

    ? 是一个查询/参数。 一个可选的查询组件,前面有一个问号 (?)

    参数只不过是 URL 中的变量列表。可以包含在 URL 中的参数数量没有限制(嗯,有总体 URL 长度限制,但我们不要去那里)。但是,有一些关于参数的硬性规定:

    • 必须使用“?”将它们与 URL 的路径分开
    • 必须使用“&”将它们彼此分开(当涉及多个参数时)(这个“必须”有点模糊 - 您可以使用小开发人员legerdemain 将子参数放在单个参数中……但是,也超出了本文的范围)
    • 它们必须构造为“键值对”。 “key”是变量的名称,而“value”是变量的实际值。键位于“=”号的左侧,值位于右侧。

    【讨论】:

    • 但是为什么@Param 没有收到带有“?”的参数?
    猜你喜欢
    • 1970-01-01
    • 2019-07-07
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多