接口对接 调用与处理方式

1 以post方式提交参数

 1 string url = string.Format("http://{0}/HIS/IsExistsCard", _mechanism.VPN_ip);
 2 
 3  var requestData = new
 4   {
 5     Name = name,
 6     MedicalNo = medicalNo,
 7     IdCard = IdCard
 8   };
 9 
10   string requestParam = JsonConvert.SerializeObject(requestData);
11 
12   string responseTest = WebClientHttp.WebClientPost(url, requestParam, MechanismId, _mechanism.MKey);

2 以get方式提交

 1  using (CustomWebClient client = new CustomWebClient(5000))
 2  {
 3    client.Encoding = Encoding.UTF8;
 4    client.Proxy = null;
 5    url = String.Format("http://{0}/OutpatientPayment/GetPaymentItemInfo?PrescriptionNumber={1}", _mechanism.VPN_ip, PrescriptionNumber);
 6    //url = string.Format("http://{0}/OutpatientPayment/GetPaymentItemInfo?PrescriptionNumber={1}", "192.168.1.127:8064", PrescriptionNumber);
 7    string responseTest = client.DownloadString(url);//下载json响应数据
 8    var checkReport = JsonConvert.DeserializeObject<ResponseResult<PaymentItem>>(responseTest);
 9    return checkReport.Data.OrderByDescending(u => u.ItemPrice).Skip((PageIndex - 1) * PageSize).Take(PageSize).ToList();
10  }

 

2种处理返回数据方式

以键值对方式:

1 JObject jo = JsonConvert.DeserializeObject(responseTest) as JObject;
2 
3 string errCode = jo["errCode"].ToString();
4 
5 if (errCode == "10000")
6 {
7   // do something
8 }

以对象实体接收

var checkReport = JsonConvert.DeserializeObject<ResponseResult<PaymentItem>>(responseTest); //反序列化为 PaymentItem 对象

 

posted @ 2018-01-14 09:46  查克拉的觉醒  阅读(1213)  评论(0编辑  收藏  举报