WebApi学习总结

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

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

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

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

在Visual Studio 创建一个webapi项目

此时直接运行项目可以看到系统默认创建的一个页面,在这个页面可以看到当前项目已有的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/5public 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数据

WebApi学习总结相关推荐

  1. asp.net core webAPI学习笔记(三)资源请求

    IDE 版本:Visual Studio 2017 15.9.7 asp.net core 版本 2.1.1 本文档说明需在 asp.net core webAPI学习笔记(一)项目搭建 的基础下进行 ...

  2. webAPI学习大纲整理(一)

    DOM的使用及练习 22-02-声明变量const优先 22-03-DOM是什么 22-04-DOM树和DOM对象 22-05-获取DOM元素 22-06-伪数组以及注意事项 22-07-获取DOM元 ...

  3. webAPI学习笔记2(DOM事件高级)

    1. 注册事件(绑定事件) 1.1 注册事件概述 给元素添加事件,称为注册事件或者绑定事件. 注册事件有两种方式:传统方式和方法监听注册方式 传统注册方式  利用 on 开头的事件 onclick & ...

  4. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(二)-- Web Api Demo

    在上一篇里,我已经建立了一个简单的Web-Demo应用程序.这一篇将记录将此Demo程序改造成一个Web Api应用程序. 一.添加ASP.NET Core MVC包 1. 在project.json ...

  5. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步

    一.安装Visual Studio Code 安装文件下载地址:VS Code,当前最新版本是1.3. 推荐安装最新版,因为附带Debug插件,支持在vs code上进行断点调试. 二.安装.Net ...

  6. JavaScript进阶学习-webAPI(总结)

    webAPI DOM 概念 JS分三个部分: ECMAScript标准:js的基本语法 DOM:Document object model -文档对象模型-操作页面的元素 BOM: Browser o ...

  7. 使用ajax发送数组请求,Ajax请求传递数组参数

    var ids = []; var rows=$("#tt").datagrid("getSelections"); for(var i=0; i ids.pu ...

  8. js基础day01小结

    第02阶段.前端基本功.前端基础.入门语法 计算机知识补充 学习目标 理解 简单了解计算机组成 认识计算机内存 一. 核心内容 1. 计算机组成 1.1 软件(程序) 系统软件:Windows.Lin ...

  9. 重磅!2020年微软开发者大会落幕,.NET迎来新机遇!

    两天前微软举行了首个线上Build大会,而开发者成为大会里唯一的主角.和所有技术公司一样,开发者对于微软来说,同样也越来越重要了.如同血肉相依的关系,谁也离不开谁.在这次大会上,开发者是最大的宠儿,成 ...

最新文章

  1. 李昱:百度产品登录协议介绍
  2. centos6.5安装mysql8_Centos6.5在线安装mysql 8.0详细教程
  3. Shell教程(四):条件语句、循环语句、break/continue
  4. BZOJ 1815: [Shoi2006]color 有色图 [Polya DFS 重复合并]
  5. QT学习:获取文件详细信息
  6. 1分钟了解基于内容的推荐,pm又懂了
  7. spring-boot-starter-swagger 1.3.0.RELEASE:新增对JSR-303的支持和host的配置
  8. 组织管理插件-代码自动补全-语法检查等特性-SpaceVim v1.5.0
  9. 常用的开源中文分词工具
  10. BUG--tomcat更改目录失败
  11. Vue+MDUI+Muse-UI的使用与安装
  12. 何为业务安全,业务安全部门的具体职责是什么?
  13. JAVA一维数组求和
  14. 回流reflow与重绘repaint
  15. 交叉熵损失(Cross-entropy)和平方损失(MSE)究竟有何区别?
  16. android studio创建桌面插件widget
  17. 科研入门必备知识之论文种类--Journal、magazine、transactions、proceedings
  18. 3 Directory traversal
  19. js实现360度图片旋转
  20. Games101-课程16笔记

热门文章

  1. WIN10下Allegro卡死的问题解决
  2. M600(A3)云台+妙算manifold视频读取
  3. 蓝牙芯片排行_最新8月出货量排行榜出炉(含TWS、手表手环手机、摄像头等),欢迎订阅!...
  4. 信息系统监理师考试大纲
  5. convert oracle 字符串_Oracle Convert()函数
  6. php、、、、、、、
  7. Digital Camera Sensor 曝光三要素
  8. 简单几步解决笔记本风扇一直嗡嗡响的问题
  9. 简述setBackgroundResource、setBackgroundColor的区别
  10. levelDB 的版本控制