首页 > 解决方案 > 使用 json 参数从 API 获取结果

问题描述

现在,我能够使用纯 Web 链接从 api 中提取返回值,而无需传递任何参数。

这是我的示例工作脚本:

var req = (HttpWebRequest)WebRequest.Create("http://myServer:1111/Test/MESService.svc/web");
req.Method = "GET";
req.Credentials = new NetworkCredential("appUser", "appPass");

var waferRes = (HttpWebResponse)req.GetResponse();
var waferStream = waferRes.GetResponseStream();
string result = "";
List<JObject> data = new List<JObject>();
JsonResponse res = new JsonResponse();

using (StreamReader reader = new StreamReader(waferStream, Encoding.UTF8))
{
    result = reader.ReadToEnd();
}

Console.WriteLine(Json(result));

但是这次我需要在链接上传递一个 json 参数来获得结果,我不太确定如何处理我当前的调用。

这是我需要传递的示例参数:

{
  "request": {
    "paramA": "DummyA",
    "paramB": "DummyB",
  }
}

如果有办法处理这种情况,有任何建议/意见

标签: c#httpwebrequesthttpwebresponsewebapi

解决方案


通常 json 在请求正文中传递。但是,主体对于 GET 请求没有语义意义。但是您可以使用查询参数 json 来做到这一点,例如:

http://myServer:1111/Test/MESService.svc/web/?json={%22request%22:{%22paramA%22:%22DummyA%22,%22paramB%22:%22DummyB%22}}

推荐阅读