Asp.Net Web API 2 官网菜鸟学习系列导航[持续更新中]
前言
本来一直参见于微软官网进行学习的, 官网网址http://www.asp.net/web-api。出于自己想锻炼一下学习阅读英文文章的目的,又可以学习下微软新发布的技术,其实也很久了,但自己菜鸟一枚,对自己来说都是新技术了。鉴于以上两个原因,本人打算借助google翻译和有道词典,来翻译学习这个系列,并通过博客园来记录自己的翻译学习过程。由于自己阅读水平的确太菜,在借助工具的情况下,有时候搞出来的也是蹩脚的语句,自己读着都难受,尤其是到了Web API路由的那两篇,所以自己想着是不是有别人也翻译过此类文章,经过简单的查找还果然有高人翻译过:http://www.cnblogs.com/r01cn/archive/2012/11/11/2765432.html,不过大神的系列也有很多空缺。所以自己就想着借助大神的作品加上自己的那点臭水平继续下去。通过官网的列表来看,文章的数量的确不少,所以自己想的是,开始暂时先把贯穿Web API的学习一下,至于一些边角待日后进行翻译完善:
以上是列表原址和google翻译。
Asp.Net Web API系列导航
一: Getting Started(入门)
1.Asp.Net Web API 2第一课——入门 http://www.cnblogs.com/aehyok/p/3432158.html
二:Creating Web APIs(创建Web API)
2.Asp.Net Web API 2第二课——CRUD操作 http://www.cnblogs.com/aehyok/p/3434578.html
三:Web API Clients(Web API客户端)
3.Asp.Net Web API 2第三课——.NET客户端调用Web API http://www.cnblogs.com/aehyok/p/3439698.html
4.Asp.Net Web API 2第四课——HttpClient消息处理器 http://www.cnblogs.com/aehyok/p/3442277.html
四:Web API Routing and Actions(Web API 路由和动作)
5.Asp.Net Web API 2第五课——Web API路由 http://www.cnblogs.com/aehyok/p/3442051.html
6.Asp.Net Web API 2第六课——Web API路由和动作选择 http://www.cnblogs.com/aehyok/p/3444710.html
7.Asp.Net Web API 2第七课——Web API异常处理
8.Asp.Net Web API 2第八课——Web API Attribute Routing
9.Asp.Net Web API 2第九课——Create a REST API with Attribute Routing in Web API 2
五:Working With HTTP(使用HTTP)
10.Asp.Net Web API 2第十课——Web API HTTP消息处理
11.Asp.Net Web API 2第十课——Sending HTML Form Data
12.Asp.Net Web API 2第十课——HTTP Cookies in ASP.NET Web API
六:Formats and Model Binding(格式化和模型绑定)
13.Asp.Net Web API 2第十一课——Media Formatters
14.Asp.Net Web API 2第十一课——JSON and XML Serialization in ASP.NET Web API
15.Asp.Net Web API 2第十一课——Content Negotiation
16.Asp.Net Web API 2第十一课——Model Validation
17.Asp.Net Web API 2第十一课——Parameter Binding in ASP.NET Web API
七:OData
18.Asp.Net Web API 2第十二课——Creating an OData Endpoint in ASP.NET Web API
19.Asp.Net Web API 2第十二课——Supporting OData Query Options
20.Asp.Net Web API 2第十二课——Supporting OData Query Options
21.Asp.Net Web API 2第十二课——Using $select, $expand, and $value in ASP.NET Web API OData
22.Asp.Net Web API 2第十二课——Working with Entity Relations in OData
23.Asp.Net Web API 2第十二课——Supporting OData Actions in ASP.NET Web API
24.Asp.Net Web API 2第十二课——Web API OData Routing Conventions
25.Asp.Net Web API 2第十二课——OData Security Guidance
八:Security(安全)
26.Asp.Net Web API 2第十三课——Authentication and Authorization in ASP.NET Web API
27.Asp.Net Web API 2第十三课——Basic Authentication
28.Asp.Net Web API 2第十三课——Individual Accounts in ASP.NET Web API
29.Asp.Net Web API 2第十三课——Forms Authentication
30.Asp.Net Web API 2第十三课——Integrated Windows Authentication
31.Asp.Net Web API 2第十三课——Preventing Cross-Site Request Forgery (CSRF) Attacks
32.Asp.Net Web API 2第十三课——Working with SSL in Web API
33.Asp.Net Web API 2第十三课——External Authentication Services (C#)
34.Asp.Net Web API 2第十三课——Enabling Cross-Origin Requests in ASP.NET Web API
九:Hosting Asp.Net Web API(Asp.Net Web API托管)
35.Asp.Net Web API 2第十四课——Use OWIN to Self-Host ASP.NET Web API
36.Asp.Net Web API 2第十四课——Self-Host a Web API (C#)
十:Testing and Debugging(测试和调试)
37.Asp.Net Web API 2第十五课——Tracing in ASP.NET Web API
十一:Extensibility(可扩展性)
38.Asp.Net Web API 2第十六课——Configuring ASP.NET Web API
39.Asp.Net Web API 2第十六课——Using the Web API Dependency Resolver
十二:其他资源——暂无打算
以上只是列出了学习的一个列表,至于学习那些和顺序没有严格的要求,正常的话所有的我都会进行学习翻译,顺序上变化可能比较多,这可是一向艰巨的任务,希望自己能够坚持下去。下面简单的来了解了解Web API。
Web API是什么
在这篇文章当中比较详细的介绍了Asp.Net Web API是什么,在此也不做过多的强调了,想了解的可以点击链接http://devproconnections.com/development/microsoft-aspnet-whats-new-web-api这是原文地址,大神翻译地址为http://www.cnblogs.com/r01cn/archive/2012/11/09/2762930.html。
下面的内容总结摘自http://www.cnblogs.com/developersupport/p/aspnet-webapi.html,感觉总结的很到位。
为什么要用Web API
Web API最重要的是可以构建面向各种客户端的服务。另外与WCF REST 服务不同在于Web API利用Http协议的各个方面来表达服务(例如 URI/request response header/caching/versioning/content format),因此就省掉很多配置。
当你遇到以下这些情况的时候,就可以考虑使用Web API了。
- 需要Web Service但是不需要SOAP
- 需要在已有的WCF服务基础上建立non-soap-based http服务
- 只想发布一些简单的Http服务,不想使用相对复杂的WCF配置
- 发布的服务可能会被带宽受限的设备访问
- 希望使用开源框架,关键时候可以自己调试或者自定义一下框架
主要功能
Web API的主要功能
- 支持基于Http verb (GET, POST, PUT, DELETE)的CRUD (create, retrieve, update, delete)操作。 通过不同的http动作表达不同的含义,这样就不需要暴露多个API来支持这些基本操作。
- 请求的回复通过Http Status Code表达不同含义,并且客户端可以通过Accept header来与服务器协商格式,例如你希望服务器返回JSON格式还是XML格式。
- 请求的回复格式支持 JSON,XML,并且可以扩展添加其他格式。
- 原生支持OData。
- 支持Self-host或者IIS host。
- 支持大多数MVC功能,例如Routing/Controller/Action Result/Filter/Model Builder/IOC Container/Dependency Injection。
Asp.Net Web API 和Asp.Net MVC
你可能会觉得Web API 与MVC很类似,他们有哪些不同之处呢?
详细点说他们的区别,
- MVC主要用来构建网站,既关心数据也关心页面展示,而Web API只关注数据
- Web API支持格式协商,客户端可以通过Accept header通知服务器期望的格式
- Web API支持Self Host,MVC目前不支持
- Web API通过不同的http verb表达不同的动作(CRUD),MVC则通过Action名字表达动作
- Web API内建于ASP.NET System.Web.Http命名空间下,MVC位于System.Web.Mvc命名空间下,因此model binding/filter/routing等功能有所不同
- 最后,Web API非常适合构建移动客户端服务
Web API和WCF
发布服务在Web API和WCF之间该如何取舍呢?这里提供些简单地判断规则,
- 如果服务需要支持One Way Messaging/Message Queue/Duplex Communication,选择WCF
- 如果服务需要在TCP/Named Pipes/UDP (wcf 4.5),选择WCF
- 如果服务需要在http协议上,并且希望利用http协议的各种功能,选择Web API
- 如果服务需要被各种客户端(特别是移动客户端)调用,选择Web API
http://msdn.microsoft.com/en-us/library/jj823172.aspx
总结
又简单的进行了系列的汇总和列举,这也是一项很大的工程。暂时已经学习翻译了六个课程,感觉其中的某些知识点和Asp.Net MVC有比较高的相似度,这也让自己对MVC中的一些问题有了更为深刻的理解和认识。希望能有更多的朋友参与其中。
【ASP.NET Web API教程】ASP.NET Web API系列教程目录
注:微软随ASP.NET MVC 4一起还发布了一个框架,叫做ASP.NET Web API。这是一个用来在.NET平台上建立HTTP服务的Web API框架,是微软的又一项令人振奋的技术。目前,国内对此关注的人似乎还不多,有关ASP.NET Web API的文章也不多见。为此,本人打算对微软ASP.NET Web API官方网站上的一些教程进行翻译,以期让更多的国人了解、学习和使用这项ASP.NET Web API。
ASP.NET Web API系列教程目录
- Introduction:What's This New Web API?
引子:新的Web API是什么? -
Chapter 1: Getting Started with ASP.NET Web API
第1章 ASP.NET Web API入门- Your First Web API (C#)
第一个Web API(C#) -
Deep Dive into Web API
深入探讨Web API(这是一个视频教程,本翻译系列略) -
Pro ASP.NET Web API
精通ASP.NET Web API(这是一本将于明年出版的书,本翻译系列略)
- Your First Web API (C#)
-
Chapter 2: Creating Web APIs
第2章 创建Web API- Creating a Web API that Supports CRUD Operations
创建支持CRUD操作的Web API - Sample: Contact Manager
示例:联系人管理器(这是一个可直接下载的应用程序,本翻译系列略) -
Using Web API with Entity Framework
与实体框架一起使用Web API- Part 1: Overview and Creating the Project
第1部分:概述及创建项目 - Part 2: Creating the Domain Models
第2部分:创建域模型 - Part 3: Creating an Admin Controller
第3部分:创建Admin控制器 - Part 4: Adding an Admin View
第4部分:添加Admin视图 - Part 5: Creating a Dynamic UI with Knockout.js
第5部分:用Knockout.js创建动态UI - Part 6: Creating Product and Order Controllers
第6部分:创建Product和Order控制器 - Part 7: Creating the Main Page
第7部分:创建首页
- Part 1: Overview and Creating the Project
- Creating a Help Page for a Web API
创建Web API帮助页面 -
Introducing the ASP.NET Web API Help Page (Preview)
ASP.NET Web API帮助页面简介(预览版)(这是一个NuGet安装包,本翻译系列略)
- Creating a Web API that Supports CRUD Operations
-
Chapter 3: Web API Clients
第3章 Web API客户端 -
Chapter 4: Web API Routing and Actions
第4章 Web API路由与动作 -
Chapter 5: Working with HTTP
第5章 使用HTTP -
Chapter 6: Formats and Model Binding
第6章 格式化与模型绑定 -
Chapter 7: OData Support in ASP.NET Web API
第7章 ASP.NET Web API的OData支持- OData support in ASP.NET Web API [Preview]
ASP.NET Web API的OData支持(预览版)
- OData support in ASP.NET Web API [Preview]
-
Chapter 8: Hosting ASP.NET Web API
第8章 ASP.NET Web API托管- Self-Host a Web API (C#)
自托管Web API(C#) - Sample: ASP.NET Web API Self-Host
例子:ASP.NET Web API自托管 - Using Web API with ASP.NET Web Forms
与ASP.NET Web表单一起使用Web API - Mobile-friendly REST service using ASP.NET Web API and SQL Database
使用ASP.NET Web API和SQL数据库的移动友好的REST服务
- Self-Host a Web API (C#)
-
Chapter 9: Testing and Debugging
第9章 测试与调试- Tracing in ASP.NET Web API
ASP.NET Web API中的跟踪 - ASP.NET Web API Tracing (Preview)
ASP.NET Web API跟踪(预览版)
- Tracing in ASP.NET Web API
-
Chapter 10: Extensibility
第10章 可扩展性- Configuring ASP.NET Web API
配置ASP.NET Web API - Using the Web API Dependency Resolver
使用Web API依赖性解析器
- Configuring ASP.NET Web API
-
Resources
资源