我对WebApi的认识

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中进行添加代码
在这里插入图片描述

  • 16
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值