C# 文档RESTAPI请求和响应

C# 文档RESTAPI请求和响应,c#,httprequest,httpresponse,C#,Httprequest,Httpresponse,此请求包含REST请求的测试数据,并从Docsaway API获取其响应。这说明了如何将Json对象绑定到REST API请求,并在c#中获取Json响应。将pdf文件作为附件发送到httprequest public static void SendRequest() { Dictionary<string, string> Connectionchil = new Dictionary<string, string>();// Started

此请求包含REST请求的测试数据,并从Docsaway API获取其响应。这说明了如何将Json对象绑定到REST API请求,并在c#中获取Json响应。将pdf文件作为附件发送到httprequest

 public static void SendRequest()
    {
        Dictionary<string, string> Connectionchil = new Dictionary<string, string>();// Started to make request object for request with sample data
        Connectionchil.Add("email", "Your Email");
        Connectionchil.Add("key", "your key");

        Dictionary<string, string> recpientchild = new Dictionary<string, string>();
        recpientchild.Add("name", "testname");
        recpientchild.Add("company", "company");
        recpientchild.Add("address1", "Test Address One");
        recpientchild.Add("address2", "Test Address 2");
        recpientchild.Add("city", "Test City");
        recpientchild.Add("state", "TestStae");
        recpientchild.Add("zip", "2260");
        recpientchild.Add("country", "AU");

        Dictionary<string, string> stationchild = new Dictionary<string, string>();
        stationchild.Add("id", "GB2");
        stationchild.Add("courierID", "GB2_2");
        stationchild.Add("ink", "BW");
        stationchild.Add("paper", "80");//End of request  object  for request with sample data

        FileStream fsAttachIn = System.IO.File.OpenRead("d:\\test.pdf");// 
        var streamOfFile = File.ReadAllBytes("d:\\test.pdf");
        string base64PDF = Convert.ToBase64String(streamOfFile);
        JsonReQuestObject RequesetObj = new JsonReQuestObject(Connectionchil, "TEST", true, recpientchild, stationchild, base64PDF, "Testing Seller");
        var Json = JsonConvert.SerializeObject(RequesetObj);//Serialization of request object into json object


        var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://www.docsaway.com/app/api/rest/mail.json");// Started to make HTTP Request
        httpWebRequest.ContentType = "json";
        httpWebRequest.Method = "POST";

        using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
        {

            streamWriter.Write(Json);
            streamWriter.Flush();
            streamWriter.Close();

        }

        var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();

        string result = null;

        using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) //
        {
            result = streamReader.ReadToEnd();
        }
        JsonResoponseOfRequest ResponseResult = JsonConvert.DeserializeObject<JsonResoponseOfRequest>(result);//Deserialization of  response into custom classes generated 

        Console.Write("API Error Number :" + ResponseResult.APIErrorNumber + "\n");
        Console.WriteLine("API Report start from below\n");
        Console.Write("\t" + ResponseResult.APIReport);
        Console.WriteLine("API Report Ends Here\n");
        Console.Write("Document Details starts here \n");
        foreach (var d in ResponseResult.Document)
        {
            Console.Write("\t" + d.Key + ":");
            Console.Write("\t" + d.Value + "\n");
        }
        Console.Write("Document Details ends here\n");

        Console.WriteLine("Station information starts from here\n");
        foreach (var s in ResponseResult.station)
        {
            Console.Write("\t" + s.Key + ":");
            Console.Write("\t" + s.Value + "\n");
        }
        Console.WriteLine("station information ends here");

        Console.WriteLine("Transaction information starts here");
        foreach (var t in ResponseResult.transaction)
        {
            Console.Write("\t" + t.Key + ":");
            Console.Write("\t" + t.Value + "\n");
        }
        Console.WriteLine("Transaction information Ends here");
        Console.ReadLine();
    }
publicstaticvoidsendRequest()
{
Dictionary Connectionchil=new Dictionary();//开始使用示例数据为请求创建请求对象
Connectionchil.Add(“电子邮件”、“您的电子邮件”);
Connectionchil.Add(“key”,“your key”);
Dictionary recpientchild=新字典();
recpientchild.Add(“name”、“testname”);
recpientchild.添加(“公司”、“公司”);
recpientchild.Add(“地址1”,“测试地址1”);
recpientchild.Add(“地址2”,“测试地址2”);
recpientchild.Add(“城市”、“测试城市”);
添加(“state”、“TestStae”);
recpientchild.Add(“zip”,“2260”);
recpientchild.添加(“国家”、“非盟”);
Dictionary stationchild=新建字典();
stationchild.Add(“id”、“GB2”);
stationchild.Add(“courierID”、“GB2_2”);
stationchild.添加(“墨水”、“BW”);
stationchild.Add(“paper”,“80”);//使用示例数据结束请求的请求对象
FileStream fsAttachIn=System.IO.File.OpenRead(“d:\\test.pdf”);//
var streamofficefile=File.ReadAllBytes(“d:\\test.pdf”);
string base64PDF=Convert.ToBase64String(streamOfFile);
JsonReQuestObject RequesetObj=新的JsonReQuestObject(Connectionchil,“测试”,true,recpientchild,stationchild,base64PDF,“测试卖方”);
var Json=JsonConvert.SerializeObject(RequesetObj);//将请求对象序列化为Json对象
var httpWebRequest=(httpWebRequest)WebRequest.Create(“https://www.docsaway.com/app/api/rest/mail.json“”;//已开始发出HTTP请求
httpWebRequest.ContentType=“json”;
httpWebRequest.Method=“POST”;
使用(var streamWriter=newstreamwriter(httpWebRequest.GetRequestStream()))
{
streamWriter.Write(Json);
streamWriter.Flush();
streamWriter.Close();
}
var httpResponse=(HttpWebResponse)httpWebRequest.GetResponse();
字符串结果=null;
使用(var streamReader=newstreamreader(httpResponse.GetResponseStream())//
{
结果=streamReader.ReadToEnd();
}
JSONResponseOfRequest ResponseResult=JsonConvert.DeserializeObject(结果);//将响应反序列化为生成的自定义类
控制台。写入(“API错误号:“+ResponseResult.APIErrorNumber+”\n”);
Console.WriteLine(“API报告从下面开始\n”);
Console.Write(“\t”+ResponseResult.APIReport”);
Console.WriteLine(“API报告在此结束\n”);
Console.Write(“文档详细信息从这里开始\n”);
foreach(响应结果文件中的var d)
{
控制台。写入(“\t”+d.键+”:”;
Console.Write(“\t”+d.Value+”\n”);
}
Console.Write(“文档详细信息到此结束\n”);
Console.WriteLine(“站点信息从这里开始\n”);
foreach(响应结果站中的var s)
{
控制台。写入(“\t”+s.Key+”:”;
控制台。写入(“\t”+s.Value+”\n”);
}
Console.WriteLine(“站点信息到此结束”);
Console.WriteLine(“交易信息从这里开始”);
foreach(响应结果事务中的var t)
{
控制台。写入(“\t”+t.Key+”:”;
控制台。写入(“\t”+t.Value+”\n”);
}
Console.WriteLine(“交易信息到此结束”);
Console.ReadLine();
}

。。。你的问题呢?你的问题是什么?否则请删除此帖子。