使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【开篇】【持续更新中。。。】

简介: 原文:使用ASP.NET Web Api构建基于REST风格的服务实战系列教程【开篇】【持续更新中。。。】最近发现web api很火,园内也有各种大神已经在研究,本人在asp.net官网上看到一个系列教程,原文地址:http://bitoftech.net/2013/11/25/detailed-tutorial-building-asp-net-web-api-restful-service/。
原文: 使用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兑现资源(十一)

 待续。。。。。。

基于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或者是作为一个独立的服务存在。

aspnet-webapi

时至今日,随着智能手机的飞速发展和普及,单页的应用程序猛增的趋势。使用一个轻量级的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请求

目录
相关文章
|
23天前
|
API 数据库 数据安全/隐私保护
利用Django框架构建高效后端API服务
本文将介绍如何利用Django框架构建高效的后端API服务。通过深入分析Django框架的特性和优势,结合实际案例,探讨了如何利用Django提供的强大功能来构建高性能、可扩展的后端服务。同时,还对Django框架在后端开发中的一些常见问题进行了解决方案的探讨,并提出了一些建设性的建议。
40 3
|
30天前
|
JSON API 数据库
解释如何在 Python 中实现 Web 服务(RESTful API)。
解释如何在 Python 中实现 Web 服务(RESTful API)。
23 0
|
1月前
|
监控 网络协议 API
阿里云BssOpenAPI是一个基于阿里云开放API的服务
【2月更文挑战第24天】阿里云BssOpenAPI是一个基于阿里云开放API的服务
135 6
|
1月前
|
弹性计算 负载均衡 网络协议
这种情况可能是由于阿里云的API服务出现了短暂的故障或者网络波动导致的
【2月更文挑战第20天】这种情况可能是由于阿里云的API服务出现了短暂的故障或者网络波动导致的
56 1
|
2月前
|
IDE Java API
使用Java Web技术构建RESTful API的实践指南
使用Java Web技术构建RESTful API的实践指南
|
2月前
|
缓存 安全 API
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
公司对外开放的OpenAPI-Server服务,作为核心内部系统与外部系统之间的重要通讯枢纽,每天处理数百万次的API调用、亿级别的消息推送以及TB/PB级别的数据同步。经过多年流量的持续增长,该服务体系依然稳固可靠,展现出强大的负载能力。
55 9
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
|
14天前
|
前端开发 Java API
构建RESTful API:Java中的RESTful服务开发
【4月更文挑战第3天】本文介绍了在Java环境中构建RESTful API的重要性及方法。遵循REST原则,利用HTTP方法处理资源,实现CRUD操作。在Java中,常用框架如Spring MVC简化了RESTful服务开发,包括定义资源、设计表示层、实现CRUD、考虑安全性、文档和测试。通过Spring MVC示例展示了创建RESTful服务的步骤,强调了其在现代Web服务开发中的关键角色,有助于提升互操作性和用户体验。
构建RESTful API:Java中的RESTful服务开发
|
30天前
|
XML JSON API
通过Flask框架创建灵活的、可扩展的Web Restful API服务
通过Flask框架创建灵活的、可扩展的Web Restful API服务
|
1月前
|
缓存 监控 API
Python Web框架FastAPI——一个比Flask和Tornada更高性能的API框架
Python Web框架FastAPI——一个比Flask和Tornada更高性能的API框架
56 0
|
1月前
|
DataWorks 大数据 API
DataWorks常见问题之弹内API 服务不可用Server unreachable如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
29 1