【问题标题】:How to send a parameter which is dictionary in Postman如何在邮递员中发送一个字典参数
【发布时间】:2020-09-16 21:58:43
【问题描述】:

我刚刚开始使用 Postman 来测试我的 API。 我能够发送请求参数列表,但不知道如何发送作为字典的参数,

说我的请求有两个不同的参数,第一个是属性,属性的结构类似于"ptype":"residential","mtype":"requirement","dtype":"sale","category":"multistoryapt","city":"Gurgaon,Mumbai"

如何将这些参数一起发送? 我在互联网上进行了探索,有一些方法可以发送数组而不是字典。

我错过了什么吗?

【问题讨论】:

  • 我假设这是一个发布请求?如果是这样,您的 API 控制器字符串中是否包含所有参数?
  • yaa,这是一个发布请求。我完全不知道 API 的控制器字符串是什么?是我们在 URL 中发送的参数还是普通的请求参数?
  • 您是否碰巧使用 ASP.NET MVC 4 来构建您的 API? (只问因为它很常见)
  • 不,我使用的是 Node.js
  • 好吧,对 node.js 不太熟悉,但现在你正在做的是发送一堆字符串作为你的 post 请求的输入。您告诉邮递员,我有一个名为“ptype”的输入参数,我想将其分配为“住宅”。除非您确实在 Post 方法中确实将所有输入作为字符串,否则这将不起作用。您可以在方法本身中更改此设置,方法是制作所有输入参数要求字符串,然后在此方法中将它们格式化为数组。或者您可以使用带有 { } 的数组语法

标签: postman


【解决方案1】:

您可以使用 Content-Type application/json 将数据作为原始正文发送,这样数据的结构由您决定。

【讨论】:

  • 我认为他正在寻找的是发送数组作为参数而不是多个字符串的语法。从我收集到的信息来看,我相信他的 Post Method 有一个带有数组的参数。我不使用邮递员,所以我不完全确定。我认为它就像 {"string1", "string2"} 作为键的值一样?如果我错了,请纠正我
  • @Andre : 谢谢你的建议,我想通了。
  • @KabirPeshawaria 邮递员默认支持form-data x-www-form-urlencoded(带有额外的输入公式)。对于其他所有内容,总是有 rawbinary 用于输入。
【解决方案2】:

如果您想以application/json 格式发送它,那么正文应如下所示:

{
    "key1":"value1",
    "key2":"value2"
}

有关如何序列化 JSON 的综合资源,请访问 http://www.newtonsoft.com/json/help/html/SerializingCollections.htm

【讨论】:

    【解决方案3】:

    如果由于某种原因您无法使用 json 发送,我们可以通过以下方式发送字典:

    object[ptype], object[mtype], object[dtype], object[category], object[city]
    

    【讨论】:

      【解决方案4】:

      你可以这样做:

      Postman 中的 POST 请求:

      内容类型:Json/应用程序

      {
         "IsManual":true,
         "platform":"IOS",
         "barcodeList":{"1":"DSSDsdsdsas","2":"DSSDsdsdsas"},
         "Client":"Cliente1",
         "ScanDate":"2018-10-16T17:03:02.2347052-03:00"
      }
      

      【讨论】:

        【解决方案5】:

        因为我有一个参数,所以我遇到了这个话题

        public Dictionary<string, string> Customer { get; set; }
        

        对于我的 REST API,我想用 Postman 对其进行测试。不幸的是,对于如何使用 Postman 发送字典,我没有找到任何快速帮助。在尝试了一些组合之后,这对我有用

        Customer[0].Key:name
        Customer[0].Value:Testname
        

        【讨论】:

          【解决方案6】:
          • 匹配您的字典名称和请求正文字典名称。

          假设,

           Dictionary<string,string> randomName = new Dictionary<string,string(){{"key1","value1"} ,{"key2","value2"}};
          
          so , your request for PostMan should be:
          
          {
              "randomName " : { "key1":"value1", "key2":"value2"}
          }
          

          【讨论】:

            猜你喜欢
            • 2016-09-08
            • 1970-01-01
            • 2018-11-01
            • 2018-03-17
            • 1970-01-01
            • 2021-08-15
            • 1970-01-01
            • 2019-05-13
            • 2016-12-22
            相关资源
            最近更新 更多