八、附录 A:参考文献

本附录分为A 节B 节两部分。

Section A中,我们将探讨以下内容:

  • 流行的基于 rest 的服务框架/ api:
    • Ruby on Rails
    • Restlet
    • Django
    • Flickr
    • 谷歌
    • 雅虎
  • 使用 Visual Studio 2013 IDE

B中,我们将讨论以下几点:

  • HTTP 响应代码
  • ASP.NET Web API 类库

【课文讲解

这是附录的 A 部分。 在本节中,我们将从流行的基于 rest 的服务框架开始讨论。

流行的基于 rest 的服务框架

具象的状态转移是一种架构范式。 REST 的主要目标包括以下几点:

  • 可伸缩性
  • 与其他技术和平台的兼容性
  • 一般性的接口
  • 可发现性; 即资源之间的互联互通
  • 组件之间可以独立部署
  • 减少延迟
  • 更好的安全性
  • 可扩展性

RESTful Web API 是指遵循 REST 原则的 Web API。 REST 的主要原则包括:

  • 识别的资源
  • 无状态通信
  • 通过表示操作资源
  • 自描述信息

下面的部分将解释流行的基于 rest 的服务框架或 api。

Ruby on Rails

Ruby on Rails 是一个优化的开源 web 应用框架,它运行在 Ruby 编程语言之上。 Ruby on Rails 遵循基本的软件工程模式和原则。 Rails Web API 是一个基于模型-视图-控制器(MVC)框架的 Web 应用创建框架。 视图层由模板组成,大多数模板都是基于 html 的,并嵌入了 Ruby 代码。 模型层表示域模型、业务逻辑类和数据访问类。 控制器层处理传入的 HTTP 请求。 请注意,Rails 控制器可以生成 XML、JSON、pdf 以及特定于移动设备的视图。 您可以从http://api.rubyonrails.org/获得更多关于此框架的信息。

Restlet

Restlet 提供了对扩展列表的支持,扩展列表包括以下内容:

  • 春天
  • WADL
  • XML
  • JSON
  • jax - rs API

Restlet 的好处包括以下几点:

  • 支持完全对称的客户端/服务器 API
  • 支持 HTTP 以外的连接器协议
  • 通过 Restlet API 支持完整的 URI 路由控制
  • 它是快速和可扩展的
  • 强大的过滤支持
  • 支持一致的客户机/服务器 API

您可以从http://restlet.org/discover/features中了解更多关于这个 API 的信息。

Django REST

Django REST 框架提供了一个强大而灵活的 API,你可以使用它无缝地构建 Web API。 这个 API 提供了广泛的文档和出色的社区支持。 您可以从这个链接http://django-rest-framework.org/了解更多关于这个框架的信息。

Flickr REST API

Flickr REST API 简单易用。 Flickr 也有一些 JSON API,您可以使用它们通过 JavaScript 调用 API。 您可以从http://www.flickr.com/services/api/request.rest.html中获得更多关于的信息。

谷歌 API

谷歌的自定义搜索 JSON/Atom API 使开发人员能够编写能够利用该 API 并在应用中检索和显示自定义搜索的应用。 这个 API 允许您使用 RESTful 调用进行 web 搜索,并获得 JSON 或 Atom 格式的结果。 您可以从这个https://developers.google.com/custom-search/json-api/v1/overview了解更多关于此 API 的信息。

雅虎! 社会 REST api

Yahoo ! RESTapi 提供了一组 URI 资源,可以提供以下访问:

  • 用户的配置文件
  • 状态信息
  • 状态更新

这些 uri 实际上根据它们返回的信息分组到 api 中。 更多信息,您可以参考以下网站:http://developer.yahoo.com/social/rest_api_guide/web-services-intro.html

【课文讲解

B中,我们将探讨 Visual Studio 2013 IDE 的使用。

使用 Visual Studio 2013 IDE

在本节中,我们将探索如何使用 Visual Studio 2013 IDE。 本节首先讨论如何在系统中安装和设置 Visual Studio 2013 IDE。

安装 Visual Studio 2013

在本节中,我们将学习如何安装 Visual Studio 2013。 Visual Studio 2013 RC 现在可以下载了。 链接如下:http://www.microsoft.com/visualstudio/eng/2013-downloads

下载安装文件后,双击该文件开始安装。

Installing Visual Studio 2013

接下来,同意许可条款和隐私政策,继续的安装,如下截图所示:

Installing Visual Studio 2013

当安装开始时,屏幕将会是这样的:

Installing Visual Studio 2013

安装完成后,屏幕会是这样的:

Installing Visual Studio 2013

点击Restart Now按钮重启系统,完成 Visual Studio 2013 的安装。

这是 Visual Studio 2013 的打开屏幕的样子:

Installing Visual Studio 2013

一旦您调用 Visual Studio 2013,您将观察到它询问您是否想要登录,如下面的截图所示。 我选择了选项now Not, maybe later

Installing Visual Studio 2013

接下来,选择您的开发设置:,如下图所示。 我在系统中选择了通用选项。

Installing Visual Studio 2013

然后,点击Start Visual Studio按钮。 Visual Studio 2013 现在将开始在你的系统中第一次使用时进行必要的准备/配置检查,如下截图所示:

Installing Visual Studio 2013

一旦这个过程完成,下面是你的 Visual Studio 2013 IDE 在第一眼看到的样子:

Installing Visual Studio 2013

Visual Studio 2013 IDE 的新特性

Visual Studio 2013 IDE 中新增的特性包括:

  • 支持异步调试
  • 支持图形诊断
  • 增强的代码编辑器特性
  • 支持从代码窗口创建代码映射
  • 支持在调试模式下映射调用堆栈
  • ALM 扩展功能
  • JavaScript 的新 IDE 特性
  • 支持创建 Office 365 的现代商业应用
  • 支持 Windows 8.1 应用开发
  • 增强的 Windows Azure 支持,包括 Windows Azure 移动服务

HTTP 请求和响应代码

下表列出了 HTTP 的标准状态码及其用法。 如欲获得完整资料,请浏览以下连结:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

|

状态码

|

描述

| | --- | --- | | 100 | 信息 | | 200 | 成功的 | | 201 | 创建 | | 202 | 接受 | | 204 | 没有内容 | | 300 | 重定向 | | 304 | 不修改 | | 400 | 客户端错误 | | 401 | 未经授权的 | | 402 | 付款要求 | | 403 | 被禁止的 | | 404 | 没有找到 | | 405 | 方法不允许 | | 409 | 冲突 | | 500 | 服务器错误 | | 501 | 没有实现 |

缩略语

  • HTTP:超文本传输协议
  • ROA:面向资源的架构
  • SOA:面向服务的架构
  • SOAP:简单对象访问协议
  • REST:具象状态传输
  • RPC:远程过程调用
  • URL:统一资源定位器
  • W3C:万维网联盟
  • WSDL:Web 服务描述语言
  • XML- rpc:XML 远程过程调用

ASP.NET Web API 库参考(基于。NET Framework Version 4.5)

ASP.NET Web API 包含以下命名空间:

|

名称空间

|

目的

| | --- | --- | | System.Net.Http | 这个名称空间由 HTTP 属性的类组成。 此命名空间为HttpRequestMessage类提供扩展方法。 | | System.Net.Http.Formatting | 此包含可用于序列化和反序列化 HTTP 消息体的类。 | | System.Net.Http.Handlers | 此包含一组事件处理程序。 | | System.Net.Http.Headers | 这个名称空间包含与HttpHeaders相关的类。 | | System.Web.Http | 这个名称空间由 HTTP 属性的类组成。 此命名空间包含HttpConfiguration类的扩展方法。 | | System.Web.Http.Controllers | 这个名称空间由一组类组成,这些类可以控制服务如何在 HTTP 协议之上工作。 | | System.Web.Http.Dependencies | 这个名称空间由一组类组成,这些类具有一组依赖属性。 | | System.Web.Http.Description | 这个命名空间由一组用于 web API 描述的类组成。 | | System.Web.Http.Dispatcher | 这个名称空间由一组与操作分派相关的类组成。 | | System.Web.Http.Filters | 这个名称空间由一组与动作筛选器属性相关的类组成。 | | System.Web.Http.Hosting | 这个名称空间由一组在 HTTP 托管中使用的类组成。 | | System.Web.Http.Metadata | 这个名称空间由一组类组成,这些类与数据模型的公共元数据相关。 | | System.Web.Http.Metadata.Providers | 这个名称空间由与元数据提供程序相关的类集合组成。 | | System.Web.Http.ModelBinding | 这个名称空间由一组与模型绑定相关的类组成。 | | System.Web.Http.ModelBinding.Binders | 这个名称空间由一组模型绑定的类组成。 | | System.Web.Http.Routing | 这个命名空间由一个或多个指定路由属性的类组成。 | | System.Web.Http.SelfHost | 这个名称空间由一个或多个类组成,这些类与 HTTP 自托管服务相关。 | | System.Web.Http.SelfHost.Channels | 这个名称空间由一个或多个类组成,这些类与用于 HTTP 绑定和安全性的类相关。 | | System.Web.Http.Services | 这个名称空间由一个或多个与默认服务相关的类组成。 | | System.Web.Http.Tracing | 这个名称空间由一个或多个与跟踪相关的类组成。 | | System.Web.Http.Validation | 这个名称空间由一个或多个与模型验证相关的类组成。 | | System.Web.Http.Validation.Providers | 这个名称空间由一个或多个与模型验证相关的提供者类和工厂类组成。 | | System.Web.Http.Validation.Validators | 这个名称空间由一个或多个与模型验证相关的类组成。 | | System.Web.Http.ValueProviders | 这个名称空间由一个或多个与值提供程序相关的类组成。 | | System.Web.Http.ValueProviders.Providers | 这个名称空间由一个或多个与提供者抽象相关的类组成。 | | System.Web.Http.WebHost | 这个命名空间包含一个或多个类的集合,这些类与 web 主机有关。 |

参考文献

以下是参考网站: