使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【开篇】【持续更新中。。。】
最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http://bitoftech.net/2013/11/25/detailed-tutorial-building-asp-net-web-api-restful-service/。于是打算跟着学一下,把学习过程以及自己的理解记录在博客园的同时也分享给大家。
每一篇结束后我都会把代码共享
由于我也是刚开始入门技术能力有限,有问题大家一起讨论下吧
系列导航
一.使用Entity Framework Code First构建数据库模型(一)http://www.cnblogs.com/fzrain/p/3491804.html
二.使用Repository模式构建数据库访问层(二)http://www.cnblogs.com/fzrain/p/3503952.html
三.ASP.NET Web Api入门(三)http://www.cnblogs.com/fzrain/p/3510035.html
四.实现模型工厂,依赖注入以及配置格式(四)http://www.cnblogs.com/fzrain/p/3520442.html
五.在Web Api中实现HTTP的PUT,POST,GET和DELETE方法(五)http://www.cnblogs.com/fzrain/p/3527765.html
六.实现资源间的联系(六)http://www.cnblogs.com/fzrain/p/3535756.html
七.实现资源的分页(七) http://www.cnblogs.com/fzrain/p/3542608.html
八.Web Api中的安全问题(八)http://www.cnblogs.com/fzrain/p/3552423.html
九.Api变了,客户端怎么办?(九)http://www.cnblogs.com/fzrain/p/3558765.html
十.多种技术实现版本变化(十) 同(九)两篇合一了
十一.使用ETag和CacheCow缓存资源(十一)http://www.cnblogs.com/fzrain/p/3618887.html
外传.基于特性路由(Attribute Routing)(外传)http://www.cnblogs.com/fzrain/p/3591040.html
待续。。。。。。
第二季
一.OData简介和一个小应用(一)http://www.cnblogs.com/fzrain/p/3688439.html
二.使用Web Api创建只读的OData服务(二)http://www.cnblogs.com/fzrain/p/3923727.html
基于REST风格服务的简介
REST表示表述性状态转移,它代表的是运行在HTTP上的一个简单的无状态的架构,每一个唯一URL代表一个资源。在创建RESTful服务时,应遵循四个基本的设计原则:
1.使用HTTP方法(动词),使用统一的方式来获取资源(交互的统一接口),即检索资源使用GET,创建资源使用POST, 更新资源使用PUT / PATCH,删除资源使用DELETE。
2.与资源的交互是无状态的, 因此由客户端发起的每个请求应当包括HTTP请求的所有参数,上下文信息和所需服务器返回数据数据类型等。
3.资源标识应通过URI来定义,简单来说应该是只使用URI来完成服务器与客户端和资源之间的交互。这些URI可以看作一个RESTful服务提供的接口。
4.支持JSON或/和XML等多种格式作为数据传输格式。
关于RESTful服务的更多信息,你可以参考:http://www.cnblogs.com/light169/archive/2007/12/31/1021814.html
ASP.NET Web Api简介
ASP.NET WEb Api首次出现是在ASP.NET MVC4的时候,到目前为止已经有一年半的历史了(对我来说还是新知识o(╯□╰)o)。它用于建立一个HTTP服务可以被各种客户端(例如:浏览器,智能手机终端,桌面客户端等)来调用的框架。它并不是ASP.NET MVC框架的一部分,它作为ASP.NET平台的一部分可以用于MVC,Web Form或者是作为一个独立的服务存在。

时至今日,随着智能手机的飞速发展和普及,单页的应用程序猛增的趋势。使用一个轻量级的Web Api来把你的服务暴露给客户端就显得极其重要。ASP.NET Web Api 将使用很多HTTP的特征(URIs,请求/相应的处理模型,标题部分,版本控制以及各种传输数据的格式)带你一起走进基于REST风格服务的精彩世界。
本次系列简介
我们秉持简单,易于理解的原则,同时覆盖了ASP.NET Web Api很多不同的特性来构建我们的项目:
我们将创建一个培训系统,这个系统对外提供一些简单的API,该API允许学生报名参加不同的课程,让老师查看登记在每个课程的学生,在课程和学生之间实现CRUD以及更多的操作。在下一章我会把具体的用到数据库模型展示给大家。
本次系列将会涉及一下的一些知识:
1.采用不同的路由配置,控制器,资源间的关联,格式的响应,和过滤器
2.使用NInject实现依赖注入
3.应用不同的格式响应分页结果
4.在多个资源实现复杂的CRUD操作
5.使用SSL确保安全性
6.使用不同的技术实现API的版本(URL,查询字符串,版本头部,接受头部)
7.实现资源缓存
备注:在本次系列中,我们不构建客户端应用程序,我们将使用Fiddler or Postman 来发送HTTP请求
使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【开篇】【持续更新中。。。】的更多相关文章
- ASP.NET Web Api构建基于REST风格的服务实战系列教程
使用ASP.NET Web Api构建基于REST风格的服务实战系列教程[十]——使用CacheCow和ETag缓存资源 系列导航地址http://www.cnblogs.com/fzrain/p/3 ...
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【九】——API变了,客户端怎么办?
系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 一旦我们将API发布之后,消费者就会开始使用并和其他的一些数据混在一起.然而,当新的需求出现 ...
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【八】——Web Api的安全性
系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 这一篇文章我们主要来探讨一下Web Api的安全性,到目前为止所有的请求都是走的Http协议 ...
- [转]使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【八】——Web Api的安全性
本文转自:http://www.cnblogs.com/fzrain/p/3552423.html 系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html ...
- 使用ASP.NET WEB API构建基于REST风格的服务实战系列教程(一)——使用EF6构建数据库及模型
系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 使用Entity Framework Code First模式构建数据库对象 已经决定使用EF C ...
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【二】——使用Repository模式构建数据库访问层
系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 在数据访问层应用Repository模式来隔离对领域对象的细节操作是很有意义的.它位于映射层 ...
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【五】——在Web Api中实现Http方法(Put,Post,Delete)
系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 在Web Api中,我们对资源的CRUD操作都是通过相应的Http方法来实现——Post(新 ...
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【外传】——Attribute Routing
系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 题外话:由于这个技术点是新学的,并不属于原系列,但借助了原系列的项目背景,故命名外传系列,以后也可 ...
- 使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【三】——Web Api入门
系列导航地址http://www.cnblogs.com/fzrain/p/3490137.html 前言 经过前2节的介绍,我们已经把数据访问层搭建好了,从本章开始就是Web Api部分了.在正式开 ...
随机推荐
- MySQL 使用JOIN优化子查询
1.数据准备 mysql> select * from student; +----+--------+----------+---------+-------------+ | id | na ...
- 【转】What is an SDET? Part 2 – Skill Matrix of SDET
What is an SDET? Part 2 ---- Skill Matrix of SDET (Instead of naming it as part 2 of What is an SDET ...
- sass入门
SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. SASS 官网介绍: sass is the most mature(成熟的),st ...
- VR(虚拟现实)开发资源汇总
Daydream https://developers.google.cn googlevr Google VR for Android GVR SDK and NDK Release Notes c ...
- Struts2文件上传和文件下载
一.单个文件上传 文件上传需要两个jar包: 首先制作一个简单的页面,用于实现文件上传 <h1>单个文件上传</h1> <s:form action="uplo ...
- nvl函数 oracle
Oracle中函数以前介绍的字符串处理,日期函数,数学函数,以及转换函数等等,还有一类函数是通用函数.主要有:NVL,NVL2,NULLIF,COALESCE,这几个函数用在各个类型上都可以. 下面简 ...
- Eclipse InstaSearch搜索词法 (很多并不支持)
1. 中文翻译 http://www.cnblogs.com/xing901022/p/4974977.html 2. 英文原文 http://lucene.apache.org/core/3_0_3 ...
- [技术分享] centos如何挂载Windows共享文件
http://www.iyunv.com/thread-294209-1-1.html 最为linux的初学者,自我感觉都会使用Windows中的文件.在Windows与linux之间互传文件是一个问 ...
- C# SaveFileDialog的用法(转载)
#region 保存对话框private void ShowSaveFileDialog(){//string localFilePath, fileNameExt, newFileName, Fil ...
- Intellij Idea中的Jetty报出Web application not found src/main/webapp错误的解决方案
今天在Intellij Idea中编译项目的时候,运行起来一直会报出如下的错误: Web application not found src/main/webapp 当时感觉应该是什么文件缺少了.所以 ...