Nancy如何接收POST過來的Json數據


  • 發送端設置

          
          //Url為接收端地址
          HttpWebRequest request = HttpWebRequest.Create(Url) as HttpWebRequest; //進行HTTP Post提交 request.Method = "POST"; //Content-Type僅支持json或xml if ("json".Equals(format.ToLower())) { request.ContentType = "application/json;charset=utf-8"; } else// if ("xml".Equals(format.ToLower())) { request.ContentType = "application/xml;charset=utf-8"; }           busiParams="{"CategoryName": "something"}"; //將業務級參數busiParams用String流進行post請求至服務端 log.Info("日志記錄”); requestStream = request.GetRequestStream(); byte[] dataByte = Encoding.GetEncoding("utf-8").GetBytes(busiParams); requestStream.Write(dataByte, 0, dataByte.Length); responseStream = request.GetResponse().GetResponseStream(); //打印輸出結果 text = Utils.StreamToString(responseStream); log.Info("日志記錄");

 

  • 使用POSTMAN發送JSON進行測試,進行如下設置:

  1. 設置接收端地址比如 http://x.x.x.x:8888/method 並且選擇 POST.

 

 

 

  1. 添加 headers頭,使用 Content-Type 和 application/json 作為 header.

 

 

 

  1. 設置 raw 和 JSON 類型.

 

 

 

  1. 發送JSON串 { "CategoryName": "something" } as is in a text field below.
  2. 點擊 "Send"按鈕測試.
  • 使用Nancy的Bind方法接收參數,如下:

public class ReqOnLineParameter//<T> where T : class
    {
        /// <summary>
        /// 接口票據
        /// </summary>
        public string AppKey { get; set; }
        /// <summary>
        /// 登錄設備標識
        /// </summary>
        public string AppSecret { get; set; }
        /// <summary>
        /// 接口數據
        /// </summary>
        //public T data { get; set; }

        public string crmOrderJson { get; set; }
        public string crmOrderProductJson { get; set; }
        public string keyValue { get; set; }

    }

 

ReqOnLineParameter req = this.Bind<ReqOnLineParameter>();

此時req變量中就會接收到POSTMAN傳遞過來的參數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM