WebApi学习总结

WebApi学习总结

webapi是个前端提供数据的一个框架,它跟MVC的区别是webapi只负责数据的处理返回并没有视图层。

webapi使用的是Restfil格式的数据方式,分为以下方式:

  • Post (新增)     - Get (查询)
  • Put (修改)           - Delete (删除)

部分情况也可以将Put 与Delete 都放在post中请求。

在Visual Studio 创建一个webapi项目
WebAP
此时直接运行项目可以看到系统默认创建的一个页面,在这个页面可以看到当前项目已有的AP列表
在这里插入图片描述
点击API按钮即可查看到项目默认创建的基础API,包含了基础的Get、Put、Post、Delete方法。
在这里插入图片描述
请求API
要想查看项目默认创建的API,只需在项目资源管理器中打开 Controllers 》 ValuesController 这个webapi的控制器
在这里插入图片描述

上面是这个控制器的方法,已经包含了基本的请求,在每个方法的上面还有一个注释,这个注释就是这个方法的api请求地址,第一个Get的方法注释为 api/values 那么要请求这个方法只需在项目地址后加上这个就可以了http://localhost:65203/api/values,webapi会根据不同的请求以及参数来判断具体请求的方法

请求后成功的获取到了Get方法返回的数组,如果出现拒绝访问可以将控制器里的[Authorize]注释掉
在这里插入图片描述
在Get方法下面还有一个带有参数的Get方法,返回的值是一个字符串“value”

 // GET api/values/5
 public string Get(int id)
  {
      return "value";
  }

如果想要请求这个方法,只需要在请求时带入一个int参数,webapi会自动的去执行对应的方法
在这里插入图片描述
获取JSON数据并解决webapi跨域问题
在浏览器中直接输入请求链接返回的是XML数据格式,但实际使用更多的json数据格式,如果想要获取json格式的数据在webapi中并不需要任何配置,但你使用jQuery请求时webapi会根据请求类型自动的返回json数据。

通过ajax在其它地方对API进行请求
$.ajax({
		url:"http://localhost:65203/api/values",
		type:"get",
		success:function (data) {
			console.log(data); 
		}
	})

请求后出现了跨域异常
在这里插入图片描述
要解决跨域问题可以引入一个NuGet程序包
在WebAPI项目中使用NuGet搜索“microsoft.apsnet.webapi.cors”并安装
在这里插入图片描述

安装完成之后只需在项目APP_Start >>> WebApiConfig中加入一句代码代码就可以了

public static void Register(HttpConfiguration config)
{
     // Web API 配置和服务
     // 将 Web API 配置为仅使用不记名令牌身份验证。
     config.EnableCors(new EnableCorsAttribute("*","*","*"));
 }

设置好之后再次请求,即可完成webapi跨域请求并返回json数据
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值