1 通过NuGet程序管理包添加  Microsoft Asp.Net webAPI 2.2 的引用

2 添加两个文件夹Controllers和Models

  2.1 在本地模拟数据库,所以在Models文件夹中添加Storages类  

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5.  
  6. namespace MyAPIN.Models
  7. {
  8. public static class Storages
  9. {
  10. public static IEnumerable<Student> Students { get; set; }
  11. public static IEnumerable<Teacher> Teachers { get; set; }
  12.  
  13. static Storages()
  14. {
  15. Students = new List<Student>()
  16. {
  17. new Student {Id=,Name="逍遥小天狼1",Age=,Gender=false},
  18. new Student {Id=,Name="逍遥小天狼2",Age=,Gender=false},
  19. new Student {Id=,Name="逍遥小天狼3",Age=,Gender=false},
  20. new Student {Id=,Name="逍遥小天狼4",Age=,Gender=false},
  21. new Student {Id=,Name="逍遥小天狼5",Age=,Gender=false},
  22. new Student {Id=,Name="逍遥小天狼6",Age=,Gender=false},
  23. };
  24. Teachers = new List<Teacher>();
  25. }
  26.  
  27. }
  28.  
  29. public class Person
  30. {
  31. public int Id { get; set; }
  32. public string Name { get; set; }
  33. public int Age { get; set; }
  34. public bool Gender { get; set; }
  35. }
  36. public class Student : Person { }
  37. public class Teacher : Person { }
  38. }

Storages

  2.2 同时添加StudentsController 和 TeacherController 在Controllers中

  1. using MyAPIN.Models;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Web;
  6. using System.Web.Http;
  7.  
  8. namespace MyAPIN.Controllers
  9. {
  10. /// <summary>
  11. /// 学生资源集合
  12. /// </summary>
  13. public class StudentsController : ApiController
  14. {
  15. //C R U D
  16. public IEnumerable<Student> Get() {
  17. return Storages.Students;
  18. }
  19.  
  20. public Student Get(string name) {
  21. return Storages.Students.FirstOrDefault(s=>s.Name.Equals(name,StringComparison.InvariantCultureIgnoreCase));
  22. }
  23.  
  24. }
  25. }

StudentsController

3 添加Global 入口文件 用于配置API路由

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.Http;
  6. using System.Web.Security;
  7. using System.Web.SessionState;
  8.  
  9. namespace MyAPIN
  10. {
  11. public class Global : System.Web.HttpApplication
  12. {
  13.  
  14. protected void Application_Start(object sender, EventArgs e)
  15. {
  16. //配置API路由
  17. GlobalConfiguration.Configuration.Routes.MapHttpRoute(
  18. "default_api",
  19. "{controller}/{item}",
  20. new { item=RouteParameter.Optional});
  21. }
  22.  
  23. }
  24. }

Global

运行效果

添加其他接口

  1. using MyAPIN.Models;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Web;
  6. using System.Web.Http;
  7.  
  8. namespace MyAPIN.Controllers
  9. {
  10. /// <summary>
  11. /// 学生资源集合
  12. /// </summary>
  13. public class StudentsController : ApiController
  14. {
  15. //C R U D
  16. public IEnumerable<Student> Get() {
  17. return Storages.Students;
  18. }
  19.  
  20. public Student Get(string item) {
  21. return Storages.Students.FirstOrDefault(s=>s.Name.Equals(item,StringComparison.InvariantCultureIgnoreCase));
  22. }
  23. public void Post(Student entity) {
  24. var list = Storages.Students as IList<Student>;
  25. entity.Id = Storages.Students.Max(s=>s.Id)+;
  26. list.Add(entity);
  27. }
  28. public void Delete([FromUri] string item) {
  29. var entity = Get(item);
  30. var list = Storages.Students as IList<Student>;
  31. list.Remove(entity);
  32. }
  33. public void Put([FromUri] string item,[FromBody] Student entity) {
  34. Delete(item);
  35. Post(entity);
  36. }
  37. }
  38. }

4 客戶端調用

添加"控制台應用程序" 引用web Api 2.2 Client

步步為營-98-MyAPI的更多相关文章

  1. 步步為營-97-MyMVC3

    說明: 解決另外一個不合理之處:通過控制器完成處理 1:在mvc文件夾下面添加一個工廠類文件DefaultControllerFactory 1.2進一步升級為抽象工廠 2 下一步如何規範Contro ...

  2. 步步為營-96-MyMVC2

    說明:地址欄中的URL還存在一些不足之處 地址欄中最好能是http"www.sss.com/asdf/aaa 1.1 模擬路由的原理:創建Routing文件夾,并添加URLRoutingMo ...

  3. 步步為營-95-MyMVC 1.0

    說明:通過自己編寫MyMVC以便於對MVC內容實現機制有更深刻的認識 1.1:創建MyMVC項目,刪除無關引用,只保留system 和 system.web.同時該項目中以後添加一些文件后也要刪除無關 ...

  4. From COM to COM 侯捷 1998.06.12

    摘要: 本文簡介 C++ Object Model 和 Component Object Model 的基本概念,並引介四本書籍: 1. Inside The C++ Object Model 2. ...

  5. 超时空英雄传说2复仇魔神完全攻略&秘技

    ╓─╥───────────────────────────────────────────────────╥─╖ ║ ║ 超 時 空 英 雄 傳 說 2 ║ ║ ║ ║ --復 仇 魔 神-- ║ ...

  6. BT觀念分享和常見問題彙整

    一. TCP/IP基本觀念 1. IP : 每台在TCP/IP網路上的電腦必須具備的一個代表號或一個地址.IP又分為private IP(192.168.x.x /10.x.x.x /172.16.x ...

  7. H TC並沒有成為下一個摩托羅拉或諾基亞。

    關於2014年第四季度,H T C在三季度財報說明中提到,“年度旗艦H T CO ne(M 8)與中端機型H T C D esire系列在競爭日趨激烈的智能手機市場保持穩定的銷售,市占率有所提升,延續 ...

  8. 一步步教你读懂NET中IL(附带图)

    一步步教你读懂NET中IL(附带图) 接触NET也有1年左右的时间了,NET的内部实现对我产生了很大的吸引力,在msdn上找到一篇关于NET的IL代码的图解说明,写的挺不错的.个人觉得:能对这些底部的 ...

  9. 一步步教你轻松学主成分分析PCA降维算法

    一步步教你轻松学主成分分析PCA降维算法 (白宁超 2018年10月22日10:14:18) 摘要:主成分分析(英语:Principal components analysis,PCA)是一种分析.简 ...

随机推荐

  1. html超文本标记语言基础一

    1,基本格式 <!DOCTYPE html> //声明为 HTML5 文档 <html> <head> <meta charset="utf-8&q ...

  2. CentOS7.4安装部署KVM虚拟机

    命令:virt-manager 可以查看已经安装的虚拟机 参考文档:1.https://blog.csdn.net/qq_39452428/article/details/80781403

  3. 1-OSI七层模型详解

    1.网络协议种类 市面上存在4,5,7层协议. 1.1 国际标准化组织ISO发布的OSI 7层协议模型(即OSI开放式互联参考模型),是概念性模型. 1.2 TCP/IP是一种实践类的模型,已成为行业 ...

  4. 如何解决错误0×80071AC3

            前几天我在机房敲百例的时候,敲完了想把文件夹移动到我的U盘里去,结果出现了这种情况           上面说运行chkdsk并重试,我运行了一下,没什么反应,我就想既然不能移动文件夹 ...

  5. vue生命周期学习(watch跟computed)

    1.watch钩子函数监听数据的变化 watch 的一个特点是,最初绑定的时候是不会执行的,要等到 firstName 改变时才执行监听计算. <div> <p>FullNam ...

  6. <第一站>人生的第一个博客

    在畅畅的疯狂暗示下(“最好”建个博客),我决定在博客园开通我的博客,在此记入我从3月23起的所学所想.在他的提醒之前,我曾经断断续续的在日记本上,手机备忘录里记录过我的学习情况和心路历程,总的来说,自 ...

  7. 正版phpstorm,webstorm,goland(Jetbrains系列都可以)免费激活步骤(图文详解)(亲测有效)

    1 前言 Jetbrains系列都可以,包括webstrom,phpstorm,goland等. 附加其它方案如下: webstrom(注册机) goland(破解补丁) 2 步骤 1. 可以先试用, ...

  8. SpriteKit 学习体会贴(不断完善中)

    1. 关于 SKShapeNode 刚接触SpriteKit时,看到这个类,以为它会比SKSpriteNode更为轻量级,但其实不是: Shape nodes are useful for conte ...

  9. cocos2dx-lua 延迟调用函数和定时器

    下面是cocos官方的方法. function performWithDelay(node, callback, delay) local delay = cc.DelayTime:create(de ...

  10. 1)django-建立步骤和目录说明

    一:前言 django是python最流行的WEB框架. 二:django安装 pip install django 三:django项目建立步骤 1.创建django工程 django-admin ...