2分钟

课程背景

实验预计耗时:75 分钟

1. 课程背景

1.1 课程目的

本课程的主要目的是让学员通过学习掌握使用 Swagger2 快速生成 API 文档的流程。在前后端分离的开发模式中,前端程序员和后端程序员逐渐分化,两个项目通过网络调用的方式互相通信,但是手写的 API 不仅繁琐,而且遇到频繁更新的场景无法快速变更,所以后端程序员需要编写一个在线的 API 方便前端程序员进行调用,而 Swagger2 能够满足这一需求。

本课程将使用 Spring Boot 集成 Swagger2,新建一个 Web 项目并通过 Docker 部署在云服务器上,并将此 Web 项目接入腾讯云 API 网关。结束本课程的学习后,学员将能够掌握 Spring Boot 基础、Docker 简单部署、Swagger2 的基本用法和腾讯云 API 网关的基本用法,并加深对前后端分离的理解。

1.2 课前知识准备

  • 相关概念:
    • 腾讯云 CVM 云服务器:云服务器(Cloud Virtual Machine,CVM)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。腾讯云 CVM 允许选择多种操作系统来启动 CVM 实例,可以使用控制台、命令行或 SDK 等多种管理工具来启动、监控或终止 CVM 实例。本课程使用腾讯云服务器提供的公共镜像创建 Linux 实例,无需自己手动下载 Linux 镜像文件,Web 项目将部署在 Linux 实例上。
    • 腾讯云 API 网关:API 网关(API Gateway)是 API 托管服务,提供 API 的完整生命周期管理,包括创建、维护、发布、运行、下线等。使用 API Gateway 可以将数据、业务逻辑或功能安全可靠的开放出来。腾讯云 API 网关可以进行图形化配置,提供了对 API 网关的可视化监控,按照调用次数及产生的流量收取费用。
    • Spring Boot:Spring Boot 是由 Pivotal 团队提供的一种框架,采用约定大于配置的原则,大大简化了搭建项目的步骤和配置。
    • Swagger2:Swagger2 是 API 接口文档自动生成工具,能够根据代码自动生成 API 文档和测试 API 接口,应用于前后端分离项目,可以让前后端协作更为高效。
    • Eclipse:Eclipse 是开源的、基于 Java 的集成开发环境。使用 Eclipse 能够帮助开发人员便捷地创建项目和更高效地编写代码。
    • Linux:Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。
    • CentOS:CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是 Linux 发行版之一,来源于 Red Hat Enterprise Linux 依照开放源代码规定释出的源代码所编译而成。
    • Docker:Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。Docker 可以将应用以及依赖包打包到一个轻量级、可移植的容器中,然后发布到 Linux 机器上。容器使用沙箱机制,相互之间没有接口,容器性能开销很低。
  • 相关原理:
    • API 网关原理:API 网关是一个服务器,是系统的唯一入口,负责服务请求路由、组合及协议转换。API 网关封装了服务的内部结构,客户端的所有请求都首先经过 API 网关,然后由它将请求路由到对应的 IP 地址。这种方式能够避免暴露内部服务地址,提高整个系统的安全性。
API网关