WebAPI 从入门到精通

合集下载

第01章认识WebAPI

第01章认识WebAPI

《WebAPI》教案第1章认识WebAPI1.本章主要目标●WebAPI简介●建立简单的WebAPI项目●调用WebAPI1.2本章重点●建立WebAPI项目●调用WebAPI1.3本章难点●建立WebAPI项目●调用WebAPI2.知识点回顾: [10分钟]●无3.课程知识点讲解[100分钟]一、WebAPI简介Web API在完整框架中地位如下图,与SignalR一起同为构建Service而服务的框架。

Web API负责构建http常规服务,而SingalR主要负责的是构建实时服务,例如股票,聊天室,在线游戏等实时性要求比较高的服务。

Web API最重要的是可以构建面向各种客户端的服务。

另外与WCF REST Service不同在于,Web API利用Http协议的各个方面来表达服务(例如 URI/request response header/caching/versioning/content format),因此就省掉很多配置。

Web API的主要功能1. 支持基于Http verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, update, delete)操作通过不同的http动作表达不同的含义,这样就不需要暴露多个API来支持这些基本操作。

2. 请求的回复通过Http Status Code表达不同含义,并且客户端可以通过Accept header来与服务器协商格式,例如你希望服务器返回JS ON格式还是XML格式。

3. 请求的回复格式支持JSON,XML,并且可以扩展添加其他格式。

4. 原生支持OData。

5. 支持Self-host或者IIS host。

6. 支持大多数MVC功能,例如Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection。

WebAPI_从入门到精通

WebAPI_从入门到精通

第一章.实例快速上手 4.5新特性WebAPI从入门到精通在新出的MVC4中,增加了WebAPI,用于提供REST风格的WebService,新生成的WebAPI项目和典型的MVC项目一样,包含主要的Models、Views、Controllers等文件夹和Global.asax文件。

Views对于WebAPI来说没有太大的用途,Models中的Model主要用于保存Service和Client交互的对象,这些对象默认情况下会被转换为Json格式的数据迚行传输,Controllers中的Controller对应于WebService来说是一个Resource,用于提供服务。

和普通的MVC 一样,Global.asax用于配置路由规则。

(一)环境准备建议使用VS2012以上版本创建WebAPI,如果是使用VS2010,需要安装VS2010 SP1升级包,MVC4升级包,打开VS2012创建如下:第一步:新建 Web应用程序第二步:建议WebAPI新生成的WebAPI项目和典型的MVC项目一样,包含主要的Models,Views,Controllers等文件夹和Global.asax文件注意:再次强调Views对于WebAPI来说没有太大的用途,Models中的Model主要用于保存Service和Client交互的对象,这些对象默认情况下会被转换为Json格式的数据进行传输,Controllers中的Controller对应于WebService来说是一个Resource,用于提供服务。

和普通的MVC一样,Global.asax用于配置路由规则(二)Models和WCF中的数据契约形成鲜明对比的是,MVC WebAPI中的Model就是简单的POCO,没有任何别的东西,如,你可以创建如下的Model public class UserModel{public int Id { get; set; }public string UserName { get; set; }public string PassWord { get; set; }}注意:Model必须提供public的属性,用于json或xml反序列化时的赋值(三)ControllersMVC WebAPI中的Controllers和普通MVC的Controllers类似,不过不再继承于Controller,而改为继承API的ApiController,一个Controller可以包含多个Action,这些Action响应请求的方法与Global中配置的路由规则有关,在后面结束Global时统一说明(四)Global默认情况下,模板自带了两个路由规则,分别对应于WebAPI和普通MVC的Web请求,默认的WebAPI路由规则如下1 routes.MapHttpRoute(2 name: "DefaultApi",3 routeTemplate: "api/{controller}/{id}",4 defaults: new { id = RouteParameter.Optional }5 );可以看到,默认路由使用的固定的api作为Uri的先导,按照微软官方的说法,用于区分普通Web请求和WebService的请求路径:可以看到,默认的路由规则只指向了Controller,没有指向具体的Action,因为默认情况下,对于Controller中的Action的匹配是和Action的方法名相关联的:具体来说,如果使用上面的路由规则,对应下面的Controller:public class UserController : ApiController{public List<UserModel> allModeList = new List<UserModel>() {new UserModel(){ Id=1,UserName="zhang", PassWord="123"},new UserModel(){ Id=2,UserName="lishi", PassWord="123456"},new UserModel(){ Id=3,UserName="wang", PassWord="1234567"}};//Get api/User/public IEnumerable<UserModel> GetAll(){return allModeList;}//Get api/User/1public IEnumerable<UserModel> GetOne(int id) {return allModeList.FindAll((m) => { return m.Id == id; });}//POST api/User/public bool PostNew(UserModel user){try{allModeList.Add(user);return true;}catch {return false;}}//Delete api/User/public int DeleteAll(){return allModeList.RemoveAll((mode) => { return true; });}//Delete api/User/1public int DeleteOne(int id) {return allModeList.RemoveAll((m) => { return m.Id == id; });}//Put api/Userpublic int PutOne(int id, UserModel user){List<UserModel> upDataList = allModeList.FindAll((mode) => { return mode.Id == id; });foreach (var mode in upDataList){mode.PassWord = user.PassWord;erName = erName;}return upDataList.Count;}}则,会有下面的对应关系:URL HttpMethod 对应的Action名/api/User GET GetALL/api/User/1 GET GetOne/api/User POST PostNew/api/User/1 DELETE DeleteOne/api/User DELETE DeleteALL/api/User PUT PutOne(五)客户端JS调用function getAll() {$.ajax({url: "api/User/",type: 'GET',success: function (data) {document.getElementById("modes").innerHTML = "";$.each(data, function (key, val) {var str = erName + ': ' +val.PassWord;$('<li/>', { html:str }).appendTo($('#modes'));});}}).fail(function (xhr, textStatus, err) {alert('Error: ' + err);});}function find() {$.ajax({url: "api/User/1" ,type: 'GET',success: function (data) {document.getElementById("modes").innerHTML = "";$.each(data, function (key, val) {var str = erName + ': ' +val.PassWord;$('<li/>', { html:str }).appendTo($('#modes'));});}}).fail(function (xhr, textStatus, err) {alert('Error: ' + err);});}function add() {$.ajax({url: "api/User/",type: "POST",dataType: "json",data: { "Id":4,"UserName": "admin", "PassWord": "666666"},success: function (data) {getAll();}}).fail(function (xhr, textStatus, err) {alert('Error: ' + err);});}function removeUser() {$.ajax({url: "api/User/3",type: 'DELETE',success: function (data) {document.getElementById("modes").innerHTML = "";getAll();}}).fail(function (xhr, textStatus, err) {alert('Error: ' + err);});}function removeAll() {$.ajax({url: "api/User/",type: 'DELETE',success: function (data) {document.getElementById("modes").innerHTML = "";getAll();}}).fail(function (xhr, textStatus, err) {alert('Error: ' + err);});}function udpate() {$.ajax({url: "api/User/1",type: 'PUT',dataType: "json",data: { Id: 1, "UserName": "admin", "PassWord": "666666" },success: function (data) {document.getElementById("modes").innerHTML = "";getAll();}}).fail(function (xhr, textStatus, err) {alert('Error: ' + err);});}这样就实现了最基本的CRUD操作。

WebAPI--入门--(一)ASP.NETWebAPI2(C#)入门

WebAPI--入门--(一)ASP.NETWebAPI2(C#)入门

WebAPI--⼊门--(⼀)WebAPI2(C#)⼊门HTTP不仅仅是为了提供⽹页。

它也是构建公开服务和数据的API的强⼤平台。

HTTP简单,灵活,⽆所不在。

⼏乎任何您可以想到的平台都有⼀个HTTP库,所以HTTP服务可以覆盖⼴泛的客户端,包括浏览器,移动设备和传统的桌⾯应⽤程序。

Web API是在.NET Framework之上构建Web API的框架。

在本教程中,您将使⽤ Web API创建返回产品列表的Web API。

本教程中使⽤的软件版本Web API 2创建⼀个Web API项⽬在本教程中,您将使⽤ Web API创建返回产品列表的Web API。

前端⽹页使⽤jQuery显⽰结果。

启动Visual Studio并从“ 开始”页⾯选择“ 新建项⽬”。

或者,从⽂件菜单中选择新建,然后选择项⽬。

在“ 模板 ”窗格中,选择“已安装的模板”并展开Visual C#节点。

在Visual C#下,选择Web。

在项⽬模板列表中,选择 Web应⽤程序。

将项⽬命名为“ProductsApp”,然后单击“确定”。

在“ 新建项⽬ ”对话框中,选择“ 空”模板。

在“添加⽂件夹和核⼼参考”下,查看Web API。

单击确定。

注意您还可以使⽤“Web API”模板创建⼀个Web API项⽬。

Web API模板使⽤ MVC提供API帮助页⾯。

我正在使⽤本教程的空模板,因为我想显⽰没有MVC的Web API。

⼀般来说,你不需要知道 MVC来使⽤Web API。

添加模型⼀个模型是代表你的应⽤程序中的数据的对象。

Web API可以⾃动将您的模型序列化为JSON,XML或其他格式,然后将序列化数据写⼊HTTP响应消息的正⽂。

只要客户端可以读取序列化格式,就可以反序列化对象。

⼤多数客户端可以解析XML或JSON。

此外,客户端可以通过在HTTP请求消息中设置Accept头来指⽰所需的格式。

我们先来创建⼀个代表产品的简单模型。

【WEBAPI项目实战干货系列】-WEBAPI入门(一)

【WEBAPI项目实战干货系列】-WEBAPI入门(一)

【WEBAPI项⽬实战⼲货系列】-WEBAPI⼊门(⼀)这篇做为这个系列的第⼀篇,做基本的介绍,有经验的⼈可以直接跳到第⼆部分创建 ProductController。

创建 Web API 项⽬在这⾥我们使⽤VS2013, .NET 4.5.1创建⼀个Web API 2的项⽬选择项⽬WEB API模板, 在最下⽅的MVC主要是默认会⾃带微软的API Helper, 使⽤MVC发布在这⾥不实⽤安全这样我们⼀个项⽬就初始化好了, 这都要归功于微软强⼤的VSF5启动项⽬之后, 点击界⾯上API按钮可以看到默认创建的API这时就可以⽤上⾯的地址通过⼀些测试⼯具来测试了. 这⾥推荐使⽤, 后⾯我们也将⼴泛使⽤这款⼯具来做调试.创建我们⾃⼰的API-Products API相关操作步骤如下添加ProductController在这⾥我们设计产品相关的API URL如下, 虽然这个不完全符合RESTFul标准,如有纠结的⼈直接忽略,这⾥主要介绍如何把我们的URL定制成下⾯这个样⼦(也是我们项⽬中的样⼦):当然这⾥的API URL还有其他写法,这个有兴趣的后⾯章节可以再讨论。

我们的 Product API简单的设计为下⾯格式:添加获取产品分页API: api/products/product/getList添加获取单个产品API: api/products/product/get?productId=产品ID添加产品新增API: api/products/product/add?productId=产品ID添加产品更新API: api/products/product/update?productId=产品ID添加产品删除API: api/products/product/delete?productId=产品ID在这⾥我们在刚才新添加的ProductController⾥中实现上⾯的API[RoutePrefix("api/products")]public class ProductController : ApiController{[HttpGet, Route("product/getList")]public Page<Product> GetProductList(){throw new NotImplementedException();}[HttpGet, Route("product/get")]public Product GetProduct(Guid productId){throw new NotImplementedException();}[HttpPost, Route("product/add")]public Guid AddProduct(Product product){throw new NotImplementedException();}[HttpPost, Route("product/update")]public void UpdateProduct(Guid productId, Product product){throw new NotImplementedException();}[HttpDelete, Route("product/delete")]public void DeleteProduct(Guid productId){throw new NotImplementedException();}}添加之后启动程序,看到的结果如下OK, 到这⾥⼤家加上⾃⼰的后端业务逻辑,完成业务层⾯的操作就可以发布使⽤了。

webapi方案

webapi方案

webapi方案WebAPI 方案一、概述WebAPI 是指通过 HTTP 协议进行通信的应用程序接口,是一种用于实现不同应用程序之间相互调用的技术方案。

它提供了一种标准化的接口结构,使得不同的系统之间可以方便地实现数据交换和功能调用,具有很好的灵活性和可扩展性。

本文将介绍 WebAPI 方案的基本原理、优势以及其在实际应用中的具体应用场景。

二、WebAPI 的原理1. 架构WebAPI 的核心组件是服务器端和客户端。

服务器端负责提供数据和服务,而客户端通过发送 HTTP 请求来获取数据或执行特定操作。

服务器端接收到请求后,解析请求参数,执行相应的业务逻辑,并将结果以一种标准化的格式返回给客户端,通常使用 JSON 或 XML 格式进行数据传输。

2. 基本原理WebAPI 的基本原理是通过 HTTP 协议进行通信。

客户端通过发送HTTP 请求(GET、POST、PUT、DELETE 等)到服务器端,请求参数可以通过 URL 参数、HTTP 头部或请求体进行传递。

服务器端接收到请求后,根据请求类型和参数,执行相应的操作,并将结果封装成HTTP 响应(状态码、响应头部和响应体)返回给客户端。

三、WebAPI 的优势1. 独立性WebAPI 可以在不同的平台和系统之间进行通信,独立于具体的应用程序和开发语言。

这使得不同系统之间可以方便地集成和共享数据,提高了系统的可扩展性和灵活性。

2. 标准化WebAPI 使用标准化的接口结构和数据格式,例如 RESTful API、SOAP 等,使得不同的系统可以容易地理解和交互。

这种标准化的接口设计可以降低系统集成的成本,提高开发效率。

同时,它也为第三方开发者提供了友好的接口,方便其开发基于 WebAPI 的应用或服务。

3. 安全性WebAPI 支持多种认证和授权机制,例如基于令牌的身份验证、OAuth、JWT 等,能够确保系统的安全性。

通过对请求进行身份验证和权限检查,可以有效防止非法请求和数据泄露,保护用户的隐私和系统的稳定性。

C#进阶之WebAPI(二)

C#进阶之WebAPI(二)

C#进阶之WebAPI(⼆)今天学习⼀下:WebAPI如何使⽤呢?⾸先我们打开vs新建⼀个WebAPI项⽬,可以看到⼀共有这些⽂件夹⽬录⾸先了解⼀下这些⽂件夹/⽂件的意义(按照程序启动的流程,相关的配置项就不说了), Global.asax:这个是程序启动的⽂件,内部的默认⽅法【Application_Start】对⽂件绑定、WebAPI路由、mvc控制器路由等进⾏注册,只会在第⼀个⽤户访问的时候运⾏;上⽹找了⼀下相关资料,发现可以在其中添加很多的配置⽅法:1using System;2using System.Collections.Generic;3using System.IO;4using System.Linq;5using System.Text;6using System.Web;7using System.Web.Http;8using System.Web.Mvc;9using System.Web.Optimization;10using System.Web.Routing;1112namespace AAAAAA.WebAPI13 {14///<summary>15/// WebApi全局设置16///</summary>17public class WebApiApplication : System.Web.HttpApplication18 {19///<summary>20///第⼀个访问⽹站的⽤户会触发该⽅法. 通常会在该⽅法⾥定义⼀些系统变量21///如聊天室的在线总⼈数统计,历史访问⼈数统计的初始化等等均可在这⾥定义.22///</summary>23protected void Application_Start()24 {2526 }2728///<summary>29///在应⽤程序关闭时运⾏的代码,在最后⼀个HttpApplication销毁之后执⾏30///⽐如IIS重启,⽂件更新,进程回收导致应⽤程序转换到另⼀个应⽤程序域31///</summary>32///<param name="sender"></param>33///<param name="e"></param>34void Application_End(object sender, EventArgs e)35 {3637 }3839///<summary>40///每个⽤户访问⽹站的第⼀个页⾯时触发;41///</summary>42///<param name="sender"></param>43///<param name="e"></param>44void Session_Start(object sender, EventArgs e)45 {46string IP = erHostAddress;47 Session["IP"] = IP;48 }4950///<summary>51///使⽤了session.abandon(),或session超时⽤户退出后均可触发.52///</summary>53///<param name="sender"></param>54///<param name="e"></param>55void Session_End(object sender, EventArgs e)56 {57// Session["User"]; 向数据库中记录⽤户退出时间58 }59///<summary>60///在每⼀个HttpApplication实例初始化的时候执⾏61///</summary>62///<param name="sender"></param>63///<param name="e"></param>64void Application_Init(object sender, EventArgs e)65 {6667 }6869///<summary>70///在应⽤程序被关闭⼀段时间之后,在.net垃圾回收器准备回收它占⽤的内存的时候被调⽤。

WebAPI基础知识学习(上)

WebAPI基础知识学习(上)

WebAPI基础知识学习(上)来源:熊⼆哥 MVC和WebAPI已经是.NET Web部分的主流,刚开始时两个公⽤同⼀个管道,之后为了更加的轻量化(WebAPI是对WCF Restful的轻量化),WebAPI使⽤了新的管道,因此两者相关类的命名空间有细微差异使⽤时需要注意。

WebAPI与路由的异同 MVC的路由:Routes(RouteCollection)的线程安全,读写锁,GetReadLock, GetWriteLock。

RouteTable.Routes.MapPageRoute(…);命名空间为System.Web.Routing中WebAPI的路由:⾸先介绍其相关类型,他们均是对Http报⽂的简易封装,.Http(HttpRequestMessage, HttpResponseMessage)。

命名空间为System.Web.Http.Routing中两个路由的衔接,例如在Web Host模式中将WebAPI寄宿于⼀个Web应⽤时,其最终的URL路由还是通过本⾝的路由系统完成,⼏个主要的类型,HttpControllerRouteHandler,HttpRouteHandler。

消息处理管道还记的 MVC中的核⼼是HttpHandler,⽽在WebAPI中其管道处理器是HttpMessageHandler。

在实际中其通过职责链模式将委托通过InnerHandler(DelegationHandler)⽅式进⾏处理。

其中,其中这个管道最是httpServer,最末端的是HttpRoutingDispatcher(均在System.Web.Http命名空间下,⽀持异步模型),P108Tip:额外想想也能理解WebAPI管道为什么更加轻量化,因⽽它只需要处理Json等类型数据,不需要考虑如页⾯、JS、静态资源等内容。

常见特性Class: [RoutePrefix(“api/demo”)],针对具体类的路由设置,相对RouteConfig,粒度更细。

WebAPI的开发和接口管理技术

WebAPI的开发和接口管理技术

WebAPI的开发和接口管理技术随着互联网的普及和移动应用的兴起,WebAPI成为了很多互联网公司必备的技术之一。

WebAPI(Application Programming Interface)是一种用于开发Web应用程序的软件接口,用于实现不同应用之间的数据交互和通信。

目前,很多互联网公司都在开发并使用自己的WebAPI,例如阿里巴巴的OpenAPI、百度的APIStore等等。

本文将围绕WebAPI的开发和接口管理技术展开,探讨如何开发高质量的WebAPI并管理好API接口。

一、WebAPI的开发技术WebAPI的开发技术包括后端语言、框架、数据库等方面。

下面我们分别来讨论这些方面的技术。

1、后端语言目前,常用的后端语言包括Java、PHP、Python、Ruby等。

选择哪种语言取决于公司的技术栈和开发人员的技术能力。

其中,Java是一种成熟、稳定、高效的编程语言,很多大型企业喜欢选择Java进行后端开发。

2、框架WebAPI的开发可以采用各种框架,例如Spring、Django、Flask等。

这些框架都可以快速搭建Web应用程序,提供丰富的组件和功能,同时也支持各种数据库。

3、数据库WebAPI的数据存储通常采用关系型数据库或非关系型数据库。

关系型数据库有MySQL、Oracle、SQL Server等,非关系型数据库有MongoDB、Redis等。

选择哪种数据库取决于数据量和数据类型。

二、WebAPI的接口管理技术开发好WebAPI并不意味着完成了一切,接下来的接口管理也非常重要。

接口管理包括接口文档编写、接口测试、接口监控等方面。

1、接口文档编写接口文档是WebAPI的重要组成部分,它通常由API说明文档和API测试文档两部分组成。

在编写API说明文档时,需要描述每个接口的功能、请求参数、返回参数等,使得其他开发人员可以清楚地了解每个接口的作用。

在编写API测试文档时,需描述如何使用Postman等工具进行接口测试,以保证接口的准确性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章.实例快速上手 4.5新特性WebAPI从入门到精通在新出的MVC4中,增加了WebAPI,用于提供REST风格的WebService,新生成的WebAPI项目和典型的MVC项目一样,包含主要的Models、Views、Controllers等文件夹和Global.asax文件。

Views对于WebAPI来说没有太大的用途,Models中的Model主要用于保存Service和Client交互的对象,这些对象默认情况下会被转换为Json格式的数据迚行传输,Controllers中的Controller对应于WebService来说是一个Resource,用于提供服务。

和普通的MVC 一样,Global.asax用于配置路由规则。

(一)环境准备建议使用VS2012以上版本创建WebAPI,如果是使用VS2010,需要安装VS2010 SP1升级包,MVC4升级包,打开VS2012创建如下:第一步:新建 Web应用程序第二步:建议WebAPI新生成的WebAPI项目和典型的MVC项目一样,包含主要的Models,Views,Controllers等文件夹和Global.asax文件注意:再次强调Views对于WebAPI来说没有太大的用途,Models 中的Model主要用于保存Service和Client交互的对象,这些对象默认情况下会被转换为Json格式的数据进行传输,Controllers中的Controller对应于WebService来说是一个Resource,用于提供服务。

和普通的MVC一样,Global.asax用于配置路由规则(二)Models和WCF中的数据契约形成鲜明对比的是,MVC WebAPI中的Model 就是简单的POCO,没有任何别的东西,如,你可以创建如下的Model public class UserModel{public int Id { get; set; }public string UserName { get; set; }public string PassWord { get; set; }}注意:Model必须提供public的属性,用于json或xml反序列化时的赋值(三)ControllersMVC WebAPI中的Controllers和普通MVC的Controllers类似,不过不再继承于Controller,而改为继承API的ApiController,一个Controller可以包含多个Action,这些Action响应请求的方法与Global 中配置的路由规则有关,在后面结束Global时统一说明(四)Global默认情况下,模板自带了两个路由规则,分别对应于WebAPI和普通MVC的Web请求,默认的WebAPI路由规则如下1 routes.MapHttpRoute(2 name: "DefaultApi",3 routeTemplate: "api/{controller}/{id}",4 defaults: new { id = RouteParameter.Optional }5 );可以看到,默认路由使用的固定的api作为Uri的先导,按照微软官方的说法,用于区分普通Web请求和WebService的请求路径:可以看到,默认的路由规则只指向了Controller,没有指向具体的Action,因为默认情况下,对于Controller中的Action的匹配是和Action的方法名相关联的:具体来说,如果使用上面的路由规则,对应下面的Controller:public class UserController : ApiController{public List<UserModel> allModeList = new List<UserModel>() {new UserModel(){ Id=1,UserName="zhang", PassWord="123"},new UserModel(){ Id=2,UserName="lishi", PassWord="123456"},new UserModel(){ Id=3,UserName="wang", PassWord="1234567"}};//Get api/User/public IEnumerable<UserModel> GetAll(){return allModeList;}//Get api/User/1public IEnumerable<UserModel> GetOne(int id) {return allModeList.FindAll((m) => { return m.Id == id; }); }//POST api/User/public bool PostNew(UserModel user){try{allModeList.Add(user);return true;}catch {return false;}//Delete api/User/public int DeleteAll(){return allModeList.RemoveAll((mode) => { return true; });}//Delete api/User/1public int DeleteOne(int id) {return allModeList.RemoveAll((m) => { return m.Id == id; });}//Put api/Userpublic int PutOne(int id, UserModel user){List<UserModel> upDataList = allModeList.FindAll((mode) => { return mode.Id == id; });foreach (var mode in upDataList)mode.PassWord = user.PassWord;erName = erName;}return upDataList.Count;}}则,会有下面的对应关系:URL HttpMethod 对应的Action名/api/User GET GetALL/api/User/1 GET GetOne/api/User POST PostNew/api/User/1 DELETE DeleteOne/api/User DELETE DeleteALL/api/User PUT PutOne(五)客户端JS调用function getAll() {$.ajax({url: "api/User/",type: 'GET',success: function (data) {document.getElementById("modes").innerHTML = "";$.each(data, function (key, val) {var str = erName + ': ' + val.PassWord;$('<li/>', { html: str }).appendTo($('#modes'));});}}).fail(function (xhr, textStatus, err) {alert('Error: ' + err);});}function find() {$.ajax({url: "api/User/1" ,type: 'GET',success: function (data) {document.getElementById("modes").innerHTML = "";$.each(data, function (key, val) {var str = erName + ': ' + val.PassWord;$('<li/>', { html: str }).appendTo($('#modes'));});}}).fail(function (xhr, textStatus, err) {alert('Error: ' + err);});}function add() {$.ajax({url: "api/User/",type: "POST",dataType: "json",data: { "Id":4,"UserName": "admin", "PassWord": "666666"},success: function (data) {getAll();}}).fail(function (xhr, textStatus, err) {alert('Error: ' + err);});}function removeUser() {$.ajax({url: "api/User/3",type: 'DELETE',success: function (data) {document.getElementById("modes").innerHTML = "";getAll();}}).fail(function (xhr, textStatus, err) {alert('Error: ' + err);});}function removeAll() {$.ajax({url: "api/User/",type: 'DELETE',success: function (data) {document.getElementById("modes").innerHTML = "";getAll();}}).fail(function (xhr, textStatus, err) {alert('Error: ' + err);});}function udpate() {$.ajax({url: "api/User/1",type: 'PUT',dataType: "json",data: { Id: 1, "UserName": "admin", "PassWord": "666666" },success: function (data) {document.getElementById("modes").innerHTML = "";getAll();}}).fail(function (xhr, textStatus, err) {alert('Error: ' + err);});}这样就实现了最基本的CRUD操作。

相关文档
最新文档