如何理解 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 ...
随机推荐
- HeRaNO's NOIP CSP Round Day 2 T1 building
考试的时候居然睡着了... T1的60分做法很明显,3^n枚举每个状态并进行验证 (考试剩十分钟结束的时候我开始打,,不到五分钟就写完了? 暴力(60分) #include<bits/stdc+ ...
- Spring怎么管理事务?
我们一般通过aop管理事务,就是把代码看成一个纵向有序的,然后通过aop管理事务,就好比增删改的时候需要开启一个事务,我们给他配置一个required,required就是有事务就执行事务,没有就给他 ...
- English--定语从句
English|定语从句 从介绍从句开始,英语的句子已经开始逐渐复杂了!做好心理准备,三大从句介绍完毕,会介绍分词短语.废话不多说,直接开始干! 前言 目前所有的文章思想格式都是:知识+情感. 知识: ...
- 微信小程序必知相关知识
微信小程序必知相关知识 1 请谈谈微信小程序主要目录和文件的作用? project.config.json 项目配置文件,用得最多的就是配置是否开启https校验: App.js 设置一些全局的基础数 ...
- net start mysql 失败提示“NET HELPMSG 3534”
lz使用的window系统8.0.16版本的mysql,以下四步解决如上问题: 1. mysqld -remove 2. mysqld --initialize 3.mysqld -install(m ...
- 数据结构与算法17—B树(B、B+、B*)
B树 B-树,就是B树,B树的原英文名是B-tree,所以很多翻译为B-树,就会很多人误以为B-树是一种树.B树是另外一种树.其实,B-tree就是B树. B-树的定义 B树(B-tree)是一种树状 ...
- NumPy 之 面向数组编程
import numpy as np Using NumPy arrays enables you to express many kinds of data processing tasks as ...
- Django之 RESTful规范
RESTful 规范 一.什么是RESTful REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为"表征 ...
- 《linux就该这么学》课堂笔记06 编写shell脚本、if、for
1.1.脚本的两种方式 交互式(Interactive):用户每输入一条命令就立即执行. 批处理(Batch):由用户事先编写好一个完整的Shell脚本,Shell会一次性执行脚本中诸多的命令. 1. ...
- web服务器-apache
一.apache详解 1. 概述 apache是世界上使用排名第一的web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的web服务器端软件之一.它快 ...