从文件下载视角来理解Web API】的更多相关文章

一.问题源起 从Web From过来的人应该会比较熟悉以下下载文件的代码: [HttpPost] [Route("Download")] public void Download() { HttpResponse response = HttpContext.Current.Response; response.Clear(); response.BufferOutput = true; response.AddHeader("Content-Type", &quo…
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* BLOCKS =============================================================================*/ p, blockquote, ul, ol, dl, table, pre { margin: 15px 0; } /* HEAD…
什么是web API? web API 控制器.路由 测试  Web  API  什么是web API ? 简单说,API是接口,访问程序的某一个功能或者数据,实现移动端和客户端的程序之间的数据交互:web API,是可以通过HTTP的协议访问的web的上的API. 如图1-1所示,发送请求,通过json的格式返回结果. 图1-1  ASP.Net web API的特性: ASP.NET Web API是构建RESTful服务的理想平台. ASP.NET Web API构建于ASP.NET之上,…
Web API 是ASP.NET平台新加的一个特性,它可以简单快速地创建Web服务为HTTP客户端提供API.Web API 使用的基础库是和一般的MVC框架一样的,但Web API并不是MVC框架的一部分,微软把Web API相关的类从 System.Web.Mvc 命名空间下提取了出来放在 System.Web.Http 命名空间下.这种理念是把 Web API 作为ASP.NET 平台的核心之一,以使Web API能使用在其他的Web应用中,或作为一个独立的服务引擎.本文将先带大家理解We…
一.理解WEB API:提供基于RESTful架构的WEB服务,通过HTTP请求方法(GET, PUT, POST, DELETE)映射到服务器端相应的ACTION方法(CRUD). RESTful架构: (1)每一个URI代表一种资源:(2)客户端和服务器之间,传递这种资源的某种表现层:(3)客户端通过四个HTTP动词,对服务器端资源进行操作,实现"表现层状态转化". HTTP 的四个主要方法 (GET, PUT, POST, DELETE) 按照下列方式映射为 CURD 操作: G…
REST不是一个标准,而是一种软件应用架构风格.基于SOAP的Web服务采用RPC架构,如果说RPC是一种面向操作的架构风格,而REST则是一种面向资源的架构风格.REST是目前业界更为推崇的构建新一代Web服务(或者Web API)的架构风格.由于REST仅仅是一种价格风格,所以它是与具体的技术平台无关的,也就是说采用REST架构的应用未必一定建立在Web之上,所以在正式介绍REST之前,我们先来简单认识一下Web. 目录 一.TCP/IP与HTTP 二.Web资源       媒体类型   …
距离上一篇关于Web API的文章(如何实现RESTful Web API的身份验证)有好些时间了,在那篇文章中提到的方法是非常简单而有效的,我在实际的项目中就这么用了,代码经过一段时间的磨合,已经很稳定了,所以我打算写篇总结,并在最近这段时间里提供一个ASP.net Web API的综合例子. 对四个HTTP方法的理解 众所周知,HTTP有四个方法,GET.POST.PUT和DELETE,分别对应数据库的SELECT.INSERT.UPDATE和DELETE,一般的教程说到这里也就Over了,…
原文:http://www.cnblogs.com/artech/p/restful-web-api-01.html REST不是一个标准,而是一种软件应用架构风格.基于SOAP的Web服务采用RPC架构,如果说RPC是一种面向操作的架构风格,而REST则是一种面向资源的架构风格.REST是目前业界更为推崇的构建新一代Web服务(或者Web API)的架构风格.由于REST仅仅是一种价格风格,所以它是与具体的技术平台无关的,也就是说采用REST架构的应用未必一定建立在Web之上,所以在正式介绍R…
<我所理解的RESTful Web API [Web标准篇]>Web服务已经成为了异质系统之间的互联与集成的主要手段,在过去一段不短的时间里,Web服务几乎清一水地采用SOAP来构建.构建REST风格的Web服务是最近两三年风行的潮流,所以很多人以为REST是一个事物.而事实却是:REST自其诞生之日起到现在(2014年)已经有14年了,它为什么叫这么一个"奇怪"的名字呢? 目录 一.为什么叫这个"奇怪"的名字?二.采用URI标识资源 二.采用URI标识…
Ø  前言 目前 ASP.NET Web API 的应用非常广泛,主要承载着服务端与客户端的数据传输与处理,如果需要使用 Web API 实现文件下载,该 实现呢,其实也是比较简单,以下示例用于下载安卓的 .apk 文件. 1.   C# 代码 /// <summary> /// 获取最新 Apk 文件. /// </summary> /// <param name="request"></param> /// <returns&g…
最近一直在学习web api authentication,以Jwt为例,可以这样理解,token是身份证,用户名和密码是户口本,身份证是有有效期的(jwt 有过期时间),且携带方便(自己带有所有信息 self contained),户口本不会过期(用户名和密码什么时候都有用),携带不方便(用户名和密码从数据库验证),jwt同样也有身份证的缺点,丢了别人有些地方可以用,户口本改名字了,身份证还可以用(同样,用户名和密码修改后jwt不修改).针对身份证的缺点,可以设置较短过期时间,另外token…
chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目. 源码: https://github.com/chsakell/spa-webapi-angularjs文章:http://chsakell.com/2015/08/23/building-single-page-applications-using-web-api-and-angularjs-free-e-book/ 这里记录下对此项目的理解.分为如下几篇: ● 对一个前端使用AngularJ…
chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目. 源码: https://github.com/chsakell/spa-webapi-angularjs文章:http://chsakell.com/2015/08/23/building-single-page-applications-using-web-api-and-angularjs-free-e-book/ 这里记录下对此项目的理解.分为如下几篇: ● 对一个前端使用AngularJ…
chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目. 源码: https://github.com/chsakell/spa-webapi-angularjs文章:http://chsakell.com/2015/08/23/building-single-page-applications-using-web-api-and-angularjs-free-e-book/ 这里记录下对此项目的理解.分为如下几篇: ● 对一个前端使用AngularJ…
chsakell分享了一个前端使用AngularJS,后端使用ASP.NET Web API的项目. 源码: https://github.com/chsakell/spa-webapi-angularjs文章:http://chsakell.com/2015/08/23/building-single-page-applications-using-web-api-and-angularjs-free-e-book/ 这里记录下对此项目的理解.分为如下几篇: ● 对一个前端使用AngularJ…
这是这一系列文章"与 AJAX 的 Web API".在这一系列我们都解释消耗 Web API rest 风格的服务使用 jQuery ajax() 和其他方法的各种方法.您可以阅读我们以前的演示文稿,请访问下面的文章: 这条 exlains 的"FormBody"和"FormUri"属性以及如何使用它们的操作参数与消费上的客户端的数据.所以,让我们举个例子. 使用 FromUri 属性来发送数据 使用 FormUri 属性,我们可以将数据传递通…
原文:http://www.cnblogs.com/artech/p/restful-web-api-02.html <我所理解的RESTful Web API [Web标准篇]>Web服务已经成为了异质系统之间的互联与集成的主要手段,在过去一段不短的时间里,Web服务几乎清一水地采用SOAP来构建.构建REST风格的Web服务是最近两三年风行的潮流,所以很多人以为REST是一个事物.而事实却是:REST自其诞生之日起到现在(2014年)已经有14年了,它为什么叫这么一个“奇怪”的名字呢? 目…
.NET web api 的特性是和MVC一样,通过Route 来控制action的访问方式.Route匹配规则是个奇特的方式,首先看一段Route的模板 Routes.MapHttpRoute( name:"DefaultApi", routeTemplate:"api/{orgid}/{controller}/{id}", defaults:new {id=RouteParameter.Optional}, constants:new {orgid=@"…
在.NET Core WEB API中参数的模型绑定方式有以下表格中的几种: 微软官方文档说明地址:https://docs.microsoft.com/zh-cn/aspnet/core/web-api/?view=aspnetcore-2.1 特性   绑定源 [FromHeader] 请求标头 [FromQuery] 请求查询字符串参数 [FromForm] 请求正文中的表单数据 [FromBody] 请求正文 [FromRoute] 当前请求中的路由 [FromServices] 作为操…
REST 是一种应用架构风格,不是一种标准,是面向资源架构(ROA)风格,与具体技术平台无关,REST架构的应用未必建立在Web之上,与之对应的是传统的Web Service 采用的面向操作的RPC架构风格. 一.基础概念 1.Web 为我们提供获取和操作网络资源的方式,资源包括文字.图片.音频.视频:核心体现在三个方面,HTTP.超文本.超媒体,HTTP为网络访问的标准协议,超文本和超媒体,规范了网络信息的表现形式,利用“链接”在相关资源节点间穿针引线结成一张非线性网,即Web. 2.网络协议…
依然chsakell,他写了一篇前端AngularJS,后端OData,ASP.NET Web API的Demo,关于OData在ASP.NET Web API中的正删改查没有什么特别之处,但在前端调用API时,把各种调用使用$resouce封装在一个服务中的写法颇有借鉴意义. 文章:http://chsakell.com/2015/04/04/asp-net-web-api-feat-odata/源码:https://github.com/chsakell/odatawebapi 首先是领域模…
断点续传基本原理 HTTP协议中与断点续传相关的HTTP头为:Range和Content-Range标头,断点续传实现流程: 1)客户端请求下载一个文件,文件的总长度为n:已经下载了一部分文件,长度为m(单位KB) 2) 客户端主动暂停下载或网络中断,客户端请求继续下载,HTTP请求标头设置为: Range:bytes=m-  3) 服务端收到断点续传请求,从文件的m位置开始传输,HTTP响应头设置为: Content-Range:bytes m-n/n,服务端返回的HTTP状态码是206. H…
无论哪种类型的Web API, 都可能需要给其他开发者使用. 所以API的开发者体验是很重要的. API的开发者体验, 简写为 API DX (Developer Experience). 它包含很多东西, 例如如何使用API, 文档, 技术支持等等, 但是最重要的还是API的设计. 如果 API 设计的不好, 那么使用该API构建的软件就需要增加在时间,人力,金钱等方面的投入. 有时候API会被错用, 甚至带来毁灭性后果. 最后抱怨该API等用户越来越多, 慢慢的, 客户就会停止使用该API.…
REST REST(REpresentational State Transfer)是 Roy Fielding 博士于 2000 年在他的博士论文中提出来的一种软件架构风格(一组架构约束条件和原则).在该论文的 中文译本 中翻译是"表述性状态移交". 原则 网络上的所有事物都被抽象为资源 每个资源都有一个唯一的资源标识符 同一个资源具有多种表现形式(xml,json 等) 对资源的各种操作不会改变资源标识符 所有的操作都是无状态的 资源(Resources) 资源是一种信息实体或者说…
软件国际化是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,在创建不同语言版本时,不需要重新设计源程序代码的软件工程方法.这在很多成熟的软件开发平台中非常常见.对于.net开发者来说,我们一般可以通过以下两种方式来实现软件的国际化. 语言配置文件 资源文件 在.net平台中,软件的国际化主要依靠工作线程的国际化来完成.在.net框架的的处理线程中,我们通过设置Thread.CurrentCulture属性来实现对日期.时间.数字.货币值.文本的排序顺序,负载约定和字符串比…
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo演示 你可以把webapi理解为面向资源编程(就是通过http请求来直接操作,比如get post put delete等等) 工具:PostMan 先不讲技术,先引入,让大家看看这个是什么? 这个是webapi里面的某个控制器,里面定义了很多方法,和http请求有一一对应的嫌疑 api控制器里面的…
目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试   一.模型状态 - ModelState 我理解的ModelState是微软在ASP.NET MVC中提出的一种新机制,它主要实现以下几个功能: 1. 保存客户端传过来的数据,如果验证不通过,把数据返回到客户端,这样可以保存用户输入,不需要重新输入. 2. 验证数据,以及保存数据对应的错误信息. 3. 微软的一种DRY(Don't Repeat…
Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web API提供的安全机制. 目录 Web API 安全概览 安全隐患 1. 注入(Injection) 2. 无效认证和Session管理方式(Broken Authentication and Session Management) 3. 跨站脚本(Cross-Site Scripting (XSS))…
ASP.NET Web API Model-ModelBinder 前言 本篇中会为大家介绍在ASP.NET Web API中ModelBinder的绑定原理以及涉及到的一些对象模型,还有简单的Model绑定示例,在前面的篇幅中讲解了Model元数据.ValueProvider的模块,然后还有本篇的Model绑定的模块这些会结合到后面篇幅中的ParameterBinder模块中来使用,也就是说在ASP.NET Web API框架中绑定的方式有两种实现,都是通过ParameterBinder来对参…
ASP.NET Web API Model-ValueProvider 前言 前面一篇讲解了Model元数据,Model元数据是在Model绑定中很重要的一部分,只是Model绑定中涉及的知识点比较多,对于ASP.NET MVC框架来说ASP.NET Web API框架中在Model绑定部分又新增了参数绑定这么一个机制,这些内容都会在后面的篇幅中说明,前面的这些篇幅都是讲解理论上的知识也没有涉及到示例的演示,这个大家不用急在最后Model部分的基础知识讲解完之后我会把前面所讲的全部串联起来,而今…