• asp.net mvc+httpclient+asp.net mvc api入门篇


    第一步:创建一个ASP.NET MVC API项目

    第二步:在api项目里面创建一个类

    public class Student
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string Pass { get; set; }
        }

    第三步:webapi可以返回json和xml这两种数据

      举一个简单的例子:api中返回一个list列表:可以返回

    也可以返回这种格式:

    前台接受完请求之后要进行反序列化:

    现在做一个get的操作

                HttpClient client = new HttpClient();
                Uri uri = new Uri("http://localhost:64279/");
                client.BaseAddress = uri;
                //添加请求的头文件
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                //发送请求并接受返回的值
                HttpResponseMessage message = client.GetAsync("api/Values/F").Result;
                string a=  message.Content.ReadAsStringAsync().Result;
                var ms = JsonConvert.DeserializeObject<string>(a);

    现在做一个发送post请求的操作

    HttpClient client = new HttpClient();
                Uri uri = new Uri("http://localhost:64279/");
                client.BaseAddress = uri;
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                //获取请求相应的消息,包含状态和代码
                HttpContent content = new FormUrlEncodedContent(
                    new[]{
                         new KeyValuePair<string,string>("ID","1"),
                         new KeyValuePair<string, string>("Name","fff"),
                         new KeyValuePair<string, string>("Pass","123")
                         
                    });
                HttpResponseMessage result = client.PostAsync("api/values/DD",content).Result;
                var msg = result.Content.ReadAsStringAsync().Result;
                //反序列化
                string ss = JsonConvert.DeserializeObject<string>(msg);

     刚开始写博客,思路有些不太清晰,如果有描述不明白的地方,大家可以加我的QQ详聊:168104910

  • 相关阅读:
    Quartz.NET-2.3.3 各种 数据库配置 类别大全
    C#获取当前路径的七种方法 【转载】
    BCB 如何拦截TAB键消息
    用union 和 struct 位域操作
    表值函数
    C#中 委托和事件的关系
    关于C++ Builder Codegurad 问题的排查。
    存储过程中使用事务的“正规”写法
    C++ 中对vector<T*> 数组的查找和排序
    BCB 中 Application->CreateForm 和 New 的一个区别
  • 原文地址:https://www.cnblogs.com/pandorabox/p/10147359.html
Copyright © 2020-2023  润新知