360SDN.COM

使用Spring构建REST服务丨课程推荐

来源:InfoQ  2017-09-11 13:27:43    评论:0点击:

REST 已经迅速成为网络上构建 Web 服务的实际标准,因为他们易于构建并易于使用。

关于 REST 如何适应微服务的世界,有一个更大的讨论,在这里,我们只讨论如何构建 RESTful 的服务。

为什么选择 REST?REST 在实践中,借助 Martin Fowler 的措辞可以解释的更为恰当,“网络是一个有效的可扩展的分布式系统。我们可以从中获得更容易构建系统的想法。我认为这是一个很好的理由:REST 包含了网络本身的规则,并且拥抱其架构、优势和所有功能。”

这样做的好处主要是像所有来自于免费的 HTTP 作为平台本身。应用安全性(加密和认证)是已知存在的解决方案,协议中内置缓存,并通过 DNS 服务路由。因此,它是一个弹性的,获得广泛认可的系统,有无处不在的支持。

然而,无处不在的 REST 本身并不是标准,是一种对 HTTP 协议的方法、风格和约束。它实现方式可能有所不同,作为 API 消费者,这可能是一个令人沮丧的经验。

LeonardRichardson 博士创建了一个成熟度模型,解释各种级别 RESTful 原则、进行分级并对分级进行打分,这个分级描述了从 0 级开始的 4 个级别。

级别 0:the Swamp of POX,在这一级,我们只使用 HTTP 作为传输。你可以将 SOAP 称为 0 级技术。它使用 HTTP,但只作为传输。值得一提的是,你也可以在没有 HTTP 的 JMS 之上使用 SOAP。因此,SOAP 不是 RESTful 的。

级别 1:Resources。在这个级别,服务器可能会使用 HTTP URI 来区分系统中的名词或者实体,例如,你可以将请求路由到 /customers,/users 等。XML-RPC 是 Level1 技术的一个示例:它使用 HTTP,它可以使用 URI 来区分端点。最终,XML-RPC 不是 RESTful:它使用 HTTP 作为其他东西的传输(远程过程调用)。

级别 2:HTTP Verbs。这是你想要的级别,也是我们开始旅程的地方,如果你对 Spring MVC 犯了一些错误,您有可能还会停留在这个阶段。Web 服务使用不同的 HTTP 方法来进行不同的操作,并且使用 HTTP 状态码来表示不同的结果。如 HTTP GET 方法来获取资源,HTTP DELETE 方法来删除资源。

级别 3:Hypermedia Controls。最后一级是我们将努力去往的地方。Hypermedia(超媒体)使用 HATEOAS(The Hypermedia As The Engine Of Application Statue)。在资源的表达中包含了链接信息。客户端可以根据链接来发现可以执行的动作。

那我们的课程可以学习到什么?

课程大纲
一、基础篇

Spring REST 实战 - 基础篇将以示例项目为入手,介绍 Spring REST 基础及 HTTP 协议、API 设计技巧和 API 安全基础相关知识和实践。

第一部分:Spring REST 基础

  • REST API 基础

  • 快速开始你的项目

  • “用户中心服务”项目

  • 项目设置

第二部分:REST 和 HTTP 协议

  • HTTP 状态码

  • 输入数据的基础验证

  • 设计良好的 URI

  • 响应数据格式支持

  • HTTP 请求的生命周期

第三部分:REST 安全基础

  • Spring Security 使用

  • 全局授权与方法级授权

  • Cookies 和会话

  • HTTPS 协议与证书示例

  • 角色与权限设计

二、中级篇

第四部分:使用 AngularJS 消费 REST API

  • 前端项目及 AngularJS REST 调用

  • 跨域资源共享 CORS

  • AngluarJS 与 OAuth2、Tokens

第五部分:测试 REST API

  • 第一次 API 测试

  • 构建 API 客户端

  • HTTP 语义测试

  • 构建通用 Client

  • 基于 API 约定测试

第六部分:API 安全进阶

  • OAuth2 简介

  • 使用 Spring Security 实现 OAuth2

  • Tokens、OAuth2 与 JWT

  • 刷新 Token

  • 前端实现 OAuth2

三、高级篇

第七部分:API 文档管理与版本管理

  • 使用 Swagger 进行 API 文档管理

  • HATEOAS 基础

  • Spring HATEOAS 使用

  • API 演变

第八部分:API 监控与度量统计

  • Spring Boot 的监控基础

  • API 自定义度量统计

  • 使用 JMX 进行监控

  • 使用 HTTP 进行结果展示

  • 生产环境下常用监控工具

第九部分:API 的持续集成与持续发布

  • 搭建 Jenkins,开始你的第一个 Job

  • 从头开始做一个 Jenkins Pipeline

  • API 的远程部署

  • 从持续集成到持续发布

第十部分:API 高级技巧

  • 简单的 API 限流实现

  • Spring REST API 的二进制数据格式

  • 异步 API 请求

上课形式

学习形式:录播+直播答疑

学习环境:专属学习 QQ 群 + 在线直播教室

课程观看有效期:1 年

欲知更多详细课程信息,扫描下图 「 二维码 」添加小助手咨询

阅读原文,了解更多!

阅读原文

为您推荐

友情链接 |九搜汽车网 |手机ok生活信息网|ok生活信息网|ok微生活
 Powered by www.360SDN.COM   京ICP备11022651号-4 © 2012-2016 版权