• 《Asp.Net Web API》 ----webApi的简单应用


    一、WebApi是什么

    二、与其类似的技术

          ASP.NET Web Services(ASP.NET Web服务)

          Windows Communication Foundation(Windows通信基础 — WCF)

    三、WebApi的简单应用

        打开VS2013,新建项目->

    选择WEB API

     结果如下

    Models中添加一个类,命名为Product

    代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace MvcApplication1.Models
    {
        public class Product
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string Category { get; set; }
            public decimal Price { get; set; }
        }
    }
    View Code

    在Controllers中右键 添加一个控制器,在弹出的画面中,给控制器重命名,WebApiController,然后在模板中选择空Api控制

    添加代码

    using MvcApplication1.Models;
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Net.Http;
    using System.Web.Http;
    
    namespace MvcApplication1.Controllers
    {
        public class WebApiController : ApiController
        {
            Product[] products = new Product[]{
                new Product{Id=1,Name="农夫山泉",Category="water",Price=2},
                new Product{Id=2,Name="钢笔",Category="study",Price=3.75M},
                new Product{Id=3,Name="烤肠",Category="food",Price=1},
                new Product{Id=4,Name="崂山矿泉水",Category="water",Price=2},
                new Product{Id=5,Name="铅笔",Category="study",Price=3.75M},
                new Product{Id=6,Name="烤羊肉",Category="food",Price=1},        
            };
    
            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 categroy)
            {
                return products.Where((p) => string.Equals(p.Category, categroy, StringComparison.OrdinalIgnoreCase));
    
            }
    
        }
    }
    View Code

     重新生成解决方案后,显示如下图,这是一个ASP.NET MVC视图,它是由HomeControllers类返回的。

     

    可以使用Postman测试工具来进行测试 

    输入http://localhost:56438/api/webapi   这个url地址是得到所有的products

     

     http://localhost:56438/api/webapi/2  根据id获取product,效果如下

     

  • 相关阅读:
    多线程 线程队列的实现
    如何使用vagrant在虚拟机安装hadoop集群
    【leetcode】Rotate List
    麒麟(Kylin)与Ubuntu的寓意相通
    山寨APP恶意吸费隐患 门槛底致监管盲点
    2013年软件设计师之考前复习笔记:IP地址
    .gitkeep
    cmd 里面运行git提示“不是内部或外部命令,也不是可运行的程序”的解决办法...
    windows常用命令行命令
    PhpStorm terminal无法输入命令的解决方法
  • 原文地址:https://www.cnblogs.com/3309-whp/p/9395639.html
Copyright © 2020-2023  润新知