学习篇一:Web API

作者: 张中华 | 来源:发表于2017-09-10 01:55 被阅读72次

    第一章:初识

    ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework.
    参照网址:
    在Web Api中强制使用Https

    1.1 入门实例

    1.1.1 创建MVC项目,HelloWebAPI

    1.1.2 添加一个Model,product.cs
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace HelloWebAPI.Models
    {
        public class Product
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string Category { get; set; }
            public decimal Price { get; set; }
        }
    }
    
    1.1.3 添加一个controller
    using HelloWebAPI.Models;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Web;
    using System.Web.Http;
    using System.Web.Mvc;
    
    namespace HelloWebAPI.Controllers
    {
        public class ProductsController : ApiController
        {
            //
            // GET: /Products/
    
            Product[] products = new Product[] 
            { 
                new Product { Id = 1, Name = "Tomato Soup", Category = "Groceries", Price = 1 }, 
                new Product { Id = 2, Name = "Yo-yo", Category = "Toys", Price = 3.75M }, 
                new Product { Id = 3, Name = "Hammer", Category = "Hardware", Price = 16.99M } 
            };
            public IEnumerable<Product> GetAllProducts()
            {
                return products;
            }
            public Product GetProductById(int id)
            {
                var product = products.FirstOrDefault((p) => p.Id == id);
                if (product == null)
                {
                    throw new HttpResponseException(HttpStatusCode.NotFound);
                }
                return product;
            }
            public IEnumerable<Product> GetProductsByCategory(string category)
            {
                return products.Where(
                    (p) => string.Equals(p.Category, category,
                        StringComparison.OrdinalIgnoreCase));
            }
    
        }
    }
    

    1.2 知识点整理

    1.2.1 如何修改请求方式

    我们可以看到在Action 中没有使用[HttpGet]、[HttpPost] 等修饰,那究竟它是如何运作的呢?
      Action 皆以HTTP 动词开头Get、Post、Put、Delete ,这个也是刚好符合 webapi的约定的。
      你调用什么类型的方法 ,例如 post 方法,那么他就去 你的所有的 action 里面 去找 以 post 开头的方法 ,名字可以随便叫,例如 postToDataBase 等等,只要开头匹配 就可以了
    例如:在上面的例子中:

    public IEnumerable<Product> GetAllProducts()
            {
                return products;
            }
    

    当改成PostAllProducts时,则以Post的请求方式。



    方法名虽然带Get,Post,但是在请求的的时候并不用加上。
    有几种标准的请求,如get,post,put,delete等,它们分别对应的几个操作,下面讲一下:

    • GET:生到数据列表(默认),或者得到一条实体数据
    • POST:添加服务端添加一条记录,记录实体为Form对象
    • PUT:添加或修改服务端的一条记录,记录实体的Form对象,记录主键以GET方式进行传输
    • DELETE:删除 服务端的一条记录
    1.2.2 如何传递参数?

    在方法里直接添加参数,然后运行那程序,可以看到:




    当然这里的1,2并没有实际意义。再看看传递一个实体看看:




    原来的文件:(由于里面存在一些不必要的东西,试试删除一些,简化一点)

    修改后的文件结构:(不喜欢启动时什么都没有,添加了一个index.html,修改下路由配置)

    启动:



    数据接口暂时告一段落,然后接下来学习EF 的code first的学习……

    相关文章

      网友评论

        本文标题:学习篇一:Web API

        本文链接:https://www.haomeiwen.com/subject/qhqajxtx.html