【问题标题】:How to Pass Object Parameter in http Get Request in visual studio如何在 Visual Studio 中的 http 获取请求中传递对象参数
【发布时间】:2017-07-12 22:44:00
【问题描述】:

我有这个https://www.bookstone.com/api/rest/bookshop/gettotal?products=[{\"PRICE\":39.95,\"RECIPIENT\":{\"ZIPCODE\":\"11779\"},\"CODE\":\"F1-509\"}] 这个 https 在 Postman 中运行良好,我得到了结果。

{
"SERVICECHARGE": 14.99,
"SUBTOTAL": 39.95,
"TAX": 0,
"ORDERTOTAL": 54.94,
"ORDERNO": 0,
}

但在 Visual Studio 中它不起作用。

var url = "https://www.bookstone.com/api/rest/bookshop/gettotal?products=[{\"PRICE\":39.95,\"RECIPIENT\":{\"ZIPCODE\":\"11779\"},\"CODE\":\"F1-509\"}]";

var response = await client.GetAsync(url);

有什么想法吗?

【问题讨论】:

  • 你是在 postman 中做 POST 并在上面做 GET 吗?
  • 你需要解释你到底遇到了什么问题。直接浏览到您的网址会执行重定向。如果我们不知道您在 POSTMAN 中设置了哪些参数以使其正常工作,我们将无能为力
  • But in visual studio it dose not work. 没有解释问题所在。它可以是任何东西。你有没有得到一个错误,一个状态码,任何东西。 it does not work 是什么意思
  • 是的,我在执行获取时收到 302 重定向,在执行帖子时收到 403 错误。
  • 我在 Postman 中使用 GET 和这些 bookstone.com/api/rest/bookshop/gettotal?products=[{\"PRICE\":39.95,\"RECIPIENT\":{\"ZIPC​​ODE\":\"11779\"},\"CODE \":\"F1-509\"}] 。参数是对象 Recipient 和 products 。我在问,当参数是对象时,Visual Studio 中传递参数的格式是什么。

标签: c# json visual-studio object


【解决方案1】:

幸运的是我找到了将数组参数转换为URL中的查询参数的解决方案。

[{"PRICE":98.5,"RECIPIENT":{"ZIPCODE":"12345"},"CODE":"abc"}]
 var queryString = JsonConvert.SerializeObject(object);
  //convert to &
 //%5b%7b%22PRICE%22%3a39.95%2c%22RECIPIENT%22%3a%7b%22ZIPCODE%22%3a%2211779%2     2%7d%2c%22CODE%22%3a%22F1-509%22%7d%5d
  var uri = WebUtility.UrlEncode(queryString);

【讨论】:

    猜你喜欢
    • 2022-12-19
    • 2019-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 2017-11-11
    • 2021-12-19
    • 1970-01-01
    相关资源
    最近更新 更多