如何理解 Web API
- 什么是web API?
- web API 控制器、路由
- 测试 Web API
什么是web API ?
简单说,API是接口,访问程序的某一个功能或者数据,实现移动端和客户端的程序之间的数据交互;web API,是可以通过HTTP的协议访问的web的上的API。
如图1-1所示,发送请求,通过json的格式返回结果。

图1-1
ASP.Net web API的特性:
- ASP.NET Web API是构建RESTful服务的理想平台。
- ASP.NET Web API构建于ASP.NET之上,支持ASP.NET请求/响应管道
- ASP.NET Web API将HTTP谓词映射到方法名称。
- ASP.NET Web API支持不同格式的响应数据。内置支持JSON,XML,BSON格式。
- ASP.NET Web API可以托管在IIS,自托管或支持.NET 4.0+的其他Web服务器中。
- ASP.NET Web API框架包括用于与Web API服务器通信的新HttpClient。HttpClient可用于ASP.MVC服务器端,Windows窗体应用程序,控制台应用程序或其他应用程序。
Web API 控制器、路由
[RoutePrefix("data")]
public class CNCheckerController : InitXpoController
{
[Route("GetAllOldEquipments")]
[HttpGet]
public Result<List<AppOldEquipmentInfo>> GetAllOldEquipments(string Brand, string ModuleType, Palatfromtype PlatformTypes, int pageSize, int Page)
{
Result<List<AppOldEquipmentInfo>> result = new Result<List<AppOldEquipmentInfo>>();
result.Data = new List<AppOldEquipmentInfo>();
using (Session)
{
GroupOperator groupOperator = new GroupOperator(GroupOperatorType.And);
if (!string.IsNullOrEmpty(Brand))groupOperator.Operands.Add(new BinaryOperator("FBrand", Brand));
if (!string.IsNullOrEmpty(ModuleType))groupOperator.Operands.Add(new BinaryOperator("FModuleType", ModuleType));
groupOperator.Operands.Add(CriteriaOperator.Parse("FPlatformTypes", PlatformTypes));
groupOperator.Operands.Add(CriteriaOperator.Parse("ture"));
var Searcholdequipment = new XPCollection<B_oldequipment>(Session, groupOperator, new SortProperty
("createdate", DevExpress.Xpo.DB.SortingDirection.Descending))
{ TopReturnedObjects = pageSize, SkipReturnedObjects = pageSize * Page };
foreach (var oldequ in Searcholdequipment)
{
AppOldEquipmentInfo appoldequipment = new AppOldEquipmentInfo();
appoldequipment.Init(oldequ);
result.Data.Add(appoldequipment);
}
result.Successed = true;
result.Msg = "获取数据成功";
}
return result;
}
详细说明:
这是属性路由的获取数据的信息;
① [RoutePrefix]: 整个控制器设置公共前缀
② Route: 控制器中的路由
③ HttpGet:请求的方法
④ 路由url: [RoutePrefix]+【Route】是请求API的url地址

HTTP方法:
HttpPsot 、 HttpGet 、HttpDelete 、 HttpPut.
测试Web API
开发web API在本地进行测试,我们可以使用以下第三方工具来测试Web API或者在 web API页面上进行测试。
Fildder
posteman
如何理解 Web API的更多相关文章
- 从文件下载视角来理解Web API
一.问题源起 从Web From过来的人应该会比较熟悉以下下载文件的代码: [HttpPost] [Route("Download")] public void Download( ...
- 理解WEB API网关
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- [ASP.NET MVC 小牛之路]18 - Web API
Web API 是ASP.NET平台新加的一个特性,它可以简单快速地创建Web服务为HTTP客户端提供API.Web API 使用的基础库是和一般的MVC框架一样的,但Web API并不是MVC框架的 ...
- ASP.NET MVC WEB API必知必会知识点总结
一.理解WEB API:提供基于RESTful架构的WEB服务,通过HTTP请求方法(GET, PUT, POST, DELETE)映射到服务器端相应的ACTION方法(CRUD). RESTful架 ...
- 我所理解的RESTful Web API [Web标准篇]
REST不是一个标准,而是一种软件应用架构风格.基于SOAP的Web服务采用RPC架构,如果说RPC是一种面向操作的架构风格,而REST则是一种面向资源的架构风格.REST是目前业界更为推崇的构建新一 ...
- 我所理解的RESTful Web API [设计篇]
<我所理解的RESTful Web API [Web标准篇]>Web服务已经成为了异质系统之间的互联与集成的主要手段,在过去一段不短的时间里,Web服务几乎清一水地采用SOAP来构建.构建 ...
- 对RESTful Web API的理解与设计思路
距离上一篇关于Web API的文章(如何实现RESTful Web API的身份验证)有好些时间了,在那篇文章中提到的方法是非常简单而有效的,我在实际的项目中就这么用了,代码经过一段时间的磨合,已经很 ...
- web api token验证理解
最近一直在学习web api authentication,以Jwt为例,可以这样理解,token是身份证,用户名和密码是户口本,身份证是有有效期的(jwt 有过期时间),且携带方便(自己带有所有信息 ...
- 对一个前端使用AngularJS后端使用ASP.NET Web API项目的理解(4)
chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目. 源码: https://github.com/chsakell/spa-webapi-angula ...
随机推荐
- Kruskal算法&Prim算法
最小生成树是什么? Kruskal算法 图文转载自a2392008643的博客 此算法可以称为"加边法",初始最小生成树边数为0,每迭代一次就选择一条满足条件的最小代价边,加入到最 ...
- java字符串常用方法总结(更新中..)
一.String类 1.字符串拼接 String str1 = "abcd"; String str2 = "efgh"; System.out.println ...
- Java自学-异常处理 处理
Java的异常处理办法 try catch throws 异常处理常见手段: try catch finally throws 步骤 1 : try catch 1.将可能抛出FileNotFound ...
- python爬虫之Scrapy学习
在爬虫的路上,学习scrapy是一个必不可少的环节.也许有好多朋友此时此刻也正在接触并学习scrapy,那么很好,我们一起学习.开始接触scrapy的朋友可能会有些疑惑,毕竟是一个框架,上来不知从何学 ...
- HTML 注释 和 实体字符
一.注释 在HTML中还有一种特殊的标签——注释标签.如果需要在HTML文档中添加一些便于阅读和理解但又不需要显示在页面中的注释文字,就需要使用注释标签. 注释内容不会显示在浏览器窗口中,但是作为HT ...
- HTML 结构标签(div+span)
一.div 标签 div 就是 division 的缩写 分割, 分区的意思 常见的用途是文档布局. 二.span 标签 span, 跨度,跨距:范围 <span> 元素可用于为部分文本设 ...
- Django 初始化数据库遇到问题(python manage.py migrate)
问题:django.db.utils.InternalError: (1049, "Unknown database 'main'") 在Django 配置的数据库上 执行 cr ...
- ML-凸优化初识
ML问题 = 模型 + 优化 类似于, 程序 = 数据结构 + 算法 模型(objective): DL, LR, SCV, Tree, XGBoost..... 优化(train): GD/SGD, ...
- Xshell 配置密钥
- Linux——Pxe+Nfs+Kickstart自动部署安装Centos7.4
PXE简介 PXE,全名Pre-boot Execution Environment,预启动执行环境:通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统:由Intel和Syst ...