如何理解 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的特性:

  1. ASP.NET Web API是构建RESTful服务的理想平台。
  2. ASP.NET Web API构建于ASP.NET之上,支持ASP.NET请求/响应管道
  3. ASP.NET Web API将HTTP谓词映射到方法名称。
  4. ASP.NET Web API支持不同格式的响应数据。内置支持JSON,XML,BSON格式。
  5. ASP.NET Web API可以托管在IIS,自托管或支持.NET 4.0+的其他Web服务器中。
  6. 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

 

posted @   笑笑未来  阅读(1588)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2018-06-15 软件开发生命周期模式
2018-06-15 软件开发生命周期模式
点击右上角即可分享
微信分享提示