zoukankan      html  css  js  c++  java
  • 1.1 .1 WebAPI构建解决方案

         为了让读者先对ASP.NET Web Api 有一个感性的认知,我们手动创建一个 Web API程序

        

        创建一个空的项目,然后添加一下内容:

        Common::空的类库项目。

        Webapi:空的ASP.NET Web 应用,引用Common

        WebHost:空的ASP.NET Web 应用,它实现了针对ASP.NET Web api的Web Host寄宿,引用webapi

        SelHosst:空的控制台应用,它实现了针对ASP.NET Web api的Self Host寄宿,引用webapi

        WebApp:空的ASP.NET Web 应用,重要用于ajax实现调用webapi

        ConsoleApp:空的控制台应用,主要用于模拟客户端代理实现webapi远程调用

    在Common创建Contact和Information

    public class Contact
        {
            /// <summary>
            /// ID
            /// </summary>
            public string ID { get; set; }
            /// <summary>
            /// 姓名
            /// </summary>
            public string Name { get; set; }
            /// <summary>
            /// 联系电话
            /// </summary>
            public string PhoneNo { get; set; }
            /// <summary>
            /// 电子邮箱
            /// </summary>
            public string EmailAddress { get; set; }
            /// <summary>
            /// 联系地址
            /// </summary>
            public string Address { get; set; }
            /// <summary>
            /// 资料
            /// </summary>
            public List<Information> lisInfo { get; set; }
        }
    
        public class Information
        {
            public string Education { get; set; }
        }

        

      Webapi引入程序集System.Web.Http,并创建ContactsController

      我们定义了Get,Post,Put,Delete这4个Action方法

        public class ContactsController : ApiController
        {
            static List<Contact> contacts;
    
            static ContactsController()
            {
                contacts = new List<Contact>() {
                    new Contact { ID = "001", Name = "张三", PhoneNo = "15811100056", EmailAddress = "zhangsanemail@163.com", Address = "北京市", lisInfo = new List<Information>() { new Information { Education = "小学" }, new Information { Education = "中学" } } },
                    new Contact { ID = "002", Name = "李四", PhoneNo = "0474-577466", EmailAddress = "lisiemail@163.com", Address = "内蒙古", lisInfo = new List<Information>() { new Information { Education = "高中" }, new Information { Education = "大学" } } }
                };
            }
    
            public IEnumerable<Contact> Get(string id = null)
            {
                return from contact in contacts
                       where contact.ID == id || string.IsNullOrEmpty(id)
                       select contact;
            }
    
            public void Post(Contact contact)
            {
                contact.ID = "003";
                contacts.Add(contact);
            }
    
    
            public void Put(Contact contact)
            {
                contacts.Remove(contacts.First(C => C.ID == contact.ID));
                contacts.Add(contact);
            }
    
    
            public void Delete(string id)
            {
                contacts.Remove(contacts.First(C => C.ID == id));
            }
        }
  • 相关阅读:
    学习Spring Cloud中eureka注册中心添加security认证,eureka client注册启动报错
    MySQL 建索引时 Specified key was too long; max key length is 767 bytes 错误的处理
    python3.x运行的坑:AttributeError: 'str' object has no attribute 'decode'
    CENTOS7下安装REDIS
    ubuntu 安装net-tools
    awk命令应用
    shell简单的循环
    Leetcode 713 Subarray Product Less Than K (子数组乘积大于K的个数) (双指针)
    Leetcode 77 Combinations (Backtracking)
    Leetcode 1052 Grumpy Bookstore Owner. (滑动窗口)
  • 原文地址:https://www.cnblogs.com/fenger-VIP/p/6677725.html
Copyright © 2011-2022 走看看