http REST 简介

REST 简介

REST 代表表现层状态转移(REpresentational State Transfer),由 Roy Fielding 在他的 论文 中提出。REST 是一种软件架构风格,不是技术框架,REST 有一系列规范,满足这些规范的 API 均可称为 RESTful API。REST 规范中有如下几个核心:

  • 1, REST 中一切实体都被抽象成资源,每个资源有一个唯一的标识 —— URI,所有的行为都应该是在资源上的 CRUD 操作
  • 2, 使用标准的方法来更改资源的状态,常见的操作有:资源的增删改查操作
  • 3, 无状态:这里的无状态是指每个 RESTful API 请求都包含了所有足够完成本次操作的信息,服务器端无须保持 Session

无状态对于服务端的弹性扩容是很重要的。

REST 风格虽然适用于很多传输协议,但在实际开发中,REST 由于天生和 HTTP 协议相辅相成,因此 HTTP 协议已经成了实现 RESTful API 事实上的标准。在 HTTP 协议中通过 POST、DELETE、PUT、GET 方法来对应 REST 资源的增、删、改、查操作,具体的对应关系如下:


HTTP方法行为URI示例说明
GET 获取资源列表 /users 获取用户列表  
GET 获取一个具体的资源 /users/admin 获取 admin 用户的详细信息  
POST 创建一个新的资源 /users 创建一个新用户  
PUT 以整体的方式更新一个资源 /users/1 更新 id 为 1 的用户  
DELETE 删除服务器上的一个资源 /users/1 删除 id 为 1 的用户

 

https://github.com/confucianzuoyuan/go-tutorials

源码目录介绍

目录介绍
demo01 实战:启动一个最简单的 RESTful API 服务器
demo02 实战:配置文件读取
demo03 实战:记录和管理 API 日志
demo04 实战:初始化 MySQL 数据库并建立连接
demo05 实战:自定义业务错误信息
demo06 实战:读取和返回 HTTP 请求
demo07 实战:用户业务逻辑处理(业务处理)
demo08 实战:HTTP 调用添加自定义处理逻辑
demo09 实战:API 身份验证
demo10 进阶:用 HTTPS 加密 API 请求
demo11 进阶:用 Makefile 管理 API 项目
demo12 进阶:给 API 命令增加版本功能
demo13 进阶:给 API 增加启动脚本
demo14 进阶:基于 Nginx 的 API 部署方案
demo15 进阶:go test 测试你的代码
demo16 进阶:API 性能分析
demo17 进阶:生成 Swagger 在线文档
posted @ 2024-09-20 09:14  技术颜良  阅读(59)  评论(0编辑  收藏  举报