WebApi学习总结
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学习总结相关推荐
- asp.net core webAPI学习笔记(三)资源请求
IDE 版本:Visual Studio 2017 15.9.7 asp.net core 版本 2.1.1 本文档说明需在 asp.net core webAPI学习笔记(一)项目搭建 的基础下进行 ...
- webAPI学习大纲整理(一)
DOM的使用及练习 22-02-声明变量const优先 22-03-DOM是什么 22-04-DOM树和DOM对象 22-05-获取DOM元素 22-06-伪数组以及注意事项 22-07-获取DOM元 ...
- webAPI学习笔记2(DOM事件高级)
1. 注册事件(绑定事件) 1.1 注册事件概述 给元素添加事件,称为注册事件或者绑定事件. 注册事件有两种方式:传统方式和方法监听注册方式 传统注册方式 利用 on 开头的事件 onclick & ...
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(二)-- Web Api Demo
在上一篇里,我已经建立了一个简单的Web-Demo应用程序.这一篇将记录将此Demo程序改造成一个Web Api应用程序. 一.添加ASP.NET Core MVC包 1. 在project.json ...
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步
一.安装Visual Studio Code 安装文件下载地址:VS Code,当前最新版本是1.3. 推荐安装最新版,因为附带Debug插件,支持在vs code上进行断点调试. 二.安装.Net ...
- JavaScript进阶学习-webAPI(总结)
webAPI DOM 概念 JS分三个部分: ECMAScript标准:js的基本语法 DOM:Document object model -文档对象模型-操作页面的元素 BOM: Browser o ...
- 使用ajax发送数组请求,Ajax请求传递数组参数
var ids = []; var rows=$("#tt").datagrid("getSelections"); for(var i=0; i ids.pu ...
- js基础day01小结
第02阶段.前端基本功.前端基础.入门语法 计算机知识补充 学习目标 理解 简单了解计算机组成 认识计算机内存 一. 核心内容 1. 计算机组成 1.1 软件(程序) 系统软件:Windows.Lin ...
- 重磅!2020年微软开发者大会落幕,.NET迎来新机遇!
两天前微软举行了首个线上Build大会,而开发者成为大会里唯一的主角.和所有技术公司一样,开发者对于微软来说,同样也越来越重要了.如同血肉相依的关系,谁也离不开谁.在这次大会上,开发者是最大的宠儿,成 ...
最新文章
- 李昱:百度产品登录协议介绍
- centos6.5安装mysql8_Centos6.5在线安装mysql 8.0详细教程
- Shell教程(四):条件语句、循环语句、break/continue
- BZOJ 1815: [Shoi2006]color 有色图 [Polya DFS 重复合并]
- QT学习:获取文件详细信息
- 1分钟了解基于内容的推荐,pm又懂了
- spring-boot-starter-swagger 1.3.0.RELEASE:新增对JSR-303的支持和host的配置
- 组织管理插件-代码自动补全-语法检查等特性-SpaceVim v1.5.0
- 常用的开源中文分词工具
- BUG--tomcat更改目录失败
- Vue+MDUI+Muse-UI的使用与安装
- 何为业务安全,业务安全部门的具体职责是什么?
- JAVA一维数组求和
- 回流reflow与重绘repaint
- 交叉熵损失(Cross-entropy)和平方损失(MSE)究竟有何区别?
- android studio创建桌面插件widget
- 科研入门必备知识之论文种类--Journal、magazine、transactions、proceedings
- 3 Directory traversal
- js实现360度图片旋转
- Games101-课程16笔记
热门文章
- WIN10下Allegro卡死的问题解决
- M600(A3)云台+妙算manifold视频读取
- 蓝牙芯片排行_最新8月出货量排行榜出炉(含TWS、手表手环手机、摄像头等),欢迎订阅!...
- 信息系统监理师考试大纲
- convert oracle 字符串_Oracle Convert()函数
- php、、、、、、、
- Digital Camera Sensor 曝光三要素
- 简单几步解决笔记本风扇一直嗡嗡响的问题
- 简述setBackgroundResource、setBackgroundColor的区别
- levelDB 的版本控制