之间有什么区别?或/在http请求中

时间:2019-11-11 12:32:55

标签: typescript nestjs

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

这是我的处理程序:

$TxtTestcases | Join-Object $RexTestcases | Format-Table *

Messages                                   Name   Error TestPlan        Script          TestCase TestData ErrorCount ErrorText       DateTime   Elapsed
--------                                   ----   ----- --------        ------          -------- -------- ---------- ---------       --------   -------
{\\APPS-EUAUTO1\C$\Users\xautosqa\AppDa... test 1 True  D:\XHostMach... D:\XHostMach... rt1      1,\a\""  1          [#ERROR#][AP... 2014-03-28 0:00:18
{[APPS-EUAUTO1] [prep] Setting agent op... test 2 False D:\XHostMach... D:\XHostMach... rt2      1,\a\""  0                          2014-03-28 0:00:08

Request with 'Params' in Postman - ?

Request without 'Params' in Postman - /

2 个答案:

答案 0 :(得分:3)

/是路径。

  

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

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

  

参数仅是URL中的变量列表。 URL可以包含的参数数量没有限制(当然,URL的总长度没有限制)。但是,关于参数有一些严格的规则:

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

答案 1 :(得分:1)

是的!我知道了!这是因为获得“?”参数,我们需要使用@FormParam标记它,而不是@Param自己。谢谢你们!! :D