WebAPI是什么?

  1. WebAPI 是一种用来开发系统间接口、设备接口 API 的技术,基于 Http 协议,请求和返 回格式结果默认是 json 格式。比 WCF 更简单、更通用,比 WebService 更节省流量、更简洁。

  2. 预设应用场景
    比如下面的接口 http://msg.jiyuwu.com “可以”使用 WebAPI 来开发。 WebAPI 是开发接口的技术,用户不会直接和 WebAPI 打交道,因此 WebAPI 也不会生成 界面,这是 WebAPI 和普通 ASP.Net MVC 的区别。
    虽然完全使用普通 ASP.Net MVC 甚至 HttpHandler 也可以开发这样的接口,但是 WebAPI 是专门做这个的,更专业。

  3. 特点

    因为 ASP.Net WebAPI 专注于接口开发,所有有如下特点:

    1)webapi 的 Action 方法返回 值直接返回对象,专注于数据。

    2)webapi 更符合 Restful 的风格。

    3)有利于独立于 IIS 部署 (selfhost、winform、windows service、控制台)。

    4)Action 可以直接声明为 async。

  4. 总结:就是给前端提供数据的框架,不管其他任何事情没不管界面,业务,逻辑,有Restful格式的数据提供方式

    1. Post(增)提交数据
    2. Get(查)得到数据
    3. Put(改)推送数据
    4. Delete(删)删除数据
      ps:在一些情况下Post也算在增删改里面

创建WebApi项目

  1. 创建Asp.net Web应用程序
  2. 选择创建WebApi
  3. 生成之后,会发现和MVC一样有控制器,视图Model,但是WebApi中是没有View的,只是再创建项目的时候会有个Home的控制器

WebApi中控制器传递数据的方式

  1. 查找数据

    当我们再url中填写api/控制器名字/是否带参数,再不同的方式下,得到的数据是不同的

  2. 修改数据

  3. 删除数据

  4. 添加数据

  5. 接下来我们实验一下,我们先创建一个控制器Students

    如果我们不需要string类型的数据呢?我们需要一个对象呢?

  6. 我们创建一个html页面

    创建要给实体类Student

    运行后,我们可以发现,我们已经得到了对象数据

WebApi是怎么进行识别url中的参数和行为呢?

我们可以再App_Start中的WebApiconfig查看WebApi的路由器规则设置。

而且再控制器中,方法名中出现了Get,Put,Delete,Post的时候,也会进行对应操作的识别,Restful风格节省1了方法名的编写

补充:

当标记有[FromBody]说明智能通过data来,当没有标记可以通过Querystring得到数值。

或者从body过来就Student这种对象,不从body过来就左边这样就行了

WebApi跨域问题之启动CoRS

再Web服务应用程序种启动CoRS,首先添加CoRS包,再工具 菜单中,选择Nuget包管理器,搜索Cors,下载Webapi.Cors,或者用PowerShell指令

 Install-Package Microsoft.AspNet.WebApi.Cors

下载完成后再App_Strat/WebApiConfig中进行添加代码

我对WebApi的认识相关推荐

  1. 开源组件websocket-sharp中基于webapi的httpserver使用体验

    一.背景 因为需要做金蝶ERP的二次开发,金蝶ERP的开放性真是不错,但是二次开发金蝶一般使用引用BOS.dll的方式,这个dll对newtonsoft.json.dll这个库是强引用,必须要用4.0 ...

  2. ASP.NET WebAPI 11 参数验证

    在绑定完Action的所有参数后,WebAPI并不会马上执行该方法,而要对参数进行验证,以保证输入的合法性. ModelState 在ApiController中一个ModelState属性用来获取参 ...

  3. php webapi验签,Asp.netCore3.0 WebApi从0到1手摸手教你写【5】增加接口参数签名验证...

    通过前几个教程的学习,对webapi的编写基本上就可以入门了,可以做项目了,今天我们再给接口加个参数签名认证,之前的接口相当于赤果果的暴露在了网络上,只要知道接口地址.接口调用方式和传参就可以畅所欲为 ...

  4. ASP.NET WebAPi之断点续传下载(下)

    前言 上一篇我们穿插了C#的内容,本篇我们继续来讲讲webapi中断点续传的其他情况以及利用webclient来实现断点续传,至此关于webapi断点续传下载以及上传内容都已经全部完结,一直嚷嚷着把S ...

  5. nodejs获取ASP.Net WebAPI(IIS Windows验证)

    处理了很多天,终于使用Nodejs可以发出请求至WebAPI,能够正常处理数据了 首先加入npm包 npm install httpntlm 在app.js中加入代码 var httpntlm = r ...

  6. asp.net webapi 序列化为xml 时实体属性增加![CDATA[]]防止特殊字符

    有时webapi在序列化xml时,可能需要给某些带有html或特殊字符(如 < > & /)的字段加上<![CDATA[]]> 已防止影响xml正常数据,如果使用.as ...

  7. 通过httpmodule获取webapi返回的信息

    我写了一个webapi,想在module中获取请求的信息和返回的信息,写进log里,以方便以后查询.request信息很容易能拿到,但是返回信息得费一番周折.不多说,上代码 public class ...

  8. ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml)

    我们都知道在使用WebApi的时候Controller会自动将Action的返回值自动进行各种序列化处理(序列化为json,xml等),但是如果Controller的自动序列化后的结果不是我们想要的该 ...

  9. asp.net core系列 38 WebAPI 返回类型与响应格式--必备

    一.返回类型 ASP.NET Core 提供以下 Web API Action方法返回类型选项,以及说明每种返回类型的最佳适用情况: (1) 固定类型 (2) IActionResult (3) Ac ...

  10. kindeditor扩展粘贴截图功能修改图片上传路径并通过webapi上传图片到图片服务器...

    2019独角兽企业重金招聘Python工程师标准>>> kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. ...

最新文章

  1. 使用fpm简单制作自定义rpm包
  2. C++/CLI之托管类型:public ref class
  3. 20年老码农分享20条编程经验,你pick哪些?
  4. Codevs2822 爱在心中
  5. mysql innodb myisam 混合,MySQL MyIsam/InnoDB混合在一起的事务
  6. 轻松生成ip地址的姿势,最快得到批量***目标
  7. 前端学习笔记之强制类型转换
  8. kali2020进入单模式_出租车使用“滴滴”平台 司机希望恢复抢单模式 滴滴出行有回应...
  9. 一些Vue开发小技巧,让你开发更便捷
  10. 【转】我应该直接学Swift还是Objective-C?
  11. yaahp层次分析法步骤_什么是层次分析法?(文末附yaahp软件)
  12. 类似Windows开始菜单的右键菜单
  13. CRMEBv3.1微商城源码,含小程序商城,公众号商城,H5商城
  14. 【行业专题报告】食品饮料、休闲零食、咖啡茶饮-专题资料
  15. lorawan和lora_用于物联网的LoRa和LoRaWAN
  16. Delphi隐藏/显示Windows桌面上的图标
  17. IntelliJ IDEA 破解方法
  18. 域名(DNS)原理及解析过程详解
  19. 【web前端】html+js实现流程进度展示条
  20. Cognos 配置启动错误

热门文章

  1. 1011 A+B 和 C (15分)
  2. 电脑故障——(wifi黄标,连上WiFi但连不了网)
  3. 数据库管理 trove openstack
  4. python suds 缓存
  5. 高性能iOS开发--移动应用的性能
  6. 苹果怎么找计算机历史记录,苹果备忘录怎么查看历史更改记录?有可以查看历史记录的便签软件吗...
  7. 40(公式累加求和)
  8. qt检测读卡器模拟键盘输入
  9. java手机号,身份证号,卡号,姓名 正则表达式脱敏
  10. 应用在无线K歌宝中的国产蓝牙芯片