Go Web开发Web初识、RESTful架构和RESTful API、Gin框架的安装和使用
一、什么是Web
-
全称:“万维网”(World Wide Web)
-
本质:系统(基于互联网).由一系列的超文本文档Hypertext Documents)组成
-
作用:用户可以通过浏览器/APP,在Web上访问各种网站、资源
-
原理(重要):
-
Web的核心技术:
- 超文本标记语言(HTML等):用于组织和创建Web页面
- 超文本传输协议(HTTP):Web客户端和服务器之间传输数据的协议
- 网页浏览器(Web Browser):用于显示Web页面的软件
- 统一资源定位符(URL):表示Web资源的地址
-
发展历程
- 静态Web:由静态页面组成,该系统的内容是静态的、固定的,无法根据用户需求进行更新
- 动态Web:使用服务器端脚本语言(PHP、ASP、JSP)和数据库用于处理用户请求,动态生成页面内容
- Web2.0:强调用户参与、互动、分享社交
- 用户生成内容(User-generated content):比如瑶瑶子现在在CSDN上写博客,就是让我这个用户,也成为了Web内容的创造者和分享者
- 社交互动(Social interaction)你在评论区给瑶瑶子评论、或者加入瑶瑶子的社区,我们分享信息、建立联系,这就是用户之间的互动
- 富媒体应用(Rich media applications):在线视频、游戏等
二、RESTful架构
💁🏻♂️推荐阅读:阮一峰 理解RESTful架构
2.1:RESTful介绍
RESTful(Representational State Transfer,表述性状态转移)是一种软件架构风格,它基于HTTP协议,用于设计和开发网络应用程序。RESTful架构风格强调资源的标识和状态的转移,使得客户端和服务器之间的交互变得简单和可扩展。
-
资源(Resource):
在RESTful框架中,任何可以被标识和访问的对象都是资源(如网页、图片、视频、数据库记录等) -
每一个URI(Uniform Resource Identifier:统一资源定位符)对应一个资源实体
URL(Uniform Resource Locator:统一资源定位器)和 URN(Uniform Resource Name:统一资源名称)都是URI的子集。作用是在互联网上唯一标识资源,便于资源的访问和管理。- URL:由协议名、主机名、路径、查询参数组成。作用:定位资源的具体位置和信息。当我们在浏览器输入一个URL时,浏览器会根据URL信息向服务器发送请求,获取对应资源(网页、图片、视频等)。
- URN:由命名空间和资源名称组成,和URL不同的是它不包含用于定位资源的具体信息。作用:指定持久性资源的名称,比如数字对象标识符(DOI)、国际标准书号(ISBN)、国际标准音像制品编号(ISRC)等,便于资源的唯一标识和长期管理。
-
HTTP方法:
RESTful架构使用http协议定义了一组方法:来对服务器的资源进行操作GET
:获取资源POST
:创建资源PUT
:更新资源DELETE
:删除资源
2.2:RESTful API
2.2.1:什么是API?
API的全称是:Application Programming Interface,是一种软件接口(注意,Web本质其实也是一个软件),用于定义软件组件(或者叫作软件模块)之间的通信协议。
当不同的软件模块进行相互通信时,它们之间需要一种规范化的方式来传递数据和指令,也就是需要一个双方都认同的通信协议(这样,双方才知道你说了啥,给了我啥,我要做出上面反应)。
API就是定义这种规范的方式,它来规定不同软件组件之间如何进行通信、传递数据。且客户端和服务端都需要遵守API的定义的规范,才能正确地进行数据和指令的传递。
通过使用API,开发人员可以根据API的规范,使用API,轻松的访问和使用不同软件组件的功能,无需了解其内部实现细节。
分类
- Web API:通过网络进行通信的API,使用http协议 表示(representation)进行数据交换,包括:RESTful API和SOAP API等
- 程序库API:访问和使用特定编程语言的或框架中的函数和类
- 操作系统API:访问和使用操作系统中的函数和类
- 第三方API:由第三方开发者提供的API,用于访问和使用其服务或者平台
2.2.2:RESTful API
RESTful API是基于RESTful架构风格(上面已讲)的Web API。是通过http协议和表示来实现的API设计模式。
RESTful API的核心就是客户端和Web服务器进行交互的适合,使用http协议中的四个请求方法,代表对资源的不同操作
GET
:获取资源POST
:创建资源PUT
:更新资源DELETE
:删除资源
只要API程序都遵循了REST风格,那么就将其称为RESTful API.
RESRful API设计和开发和规范
-
资源和URL:资源是指应用程序中的实体或者对象,每一个资源有唯一的URL地址,可以通过http方法对其进行操作。客户端可以通过URL地址,对资源进行CRUD。URL需要简洁、有意义,使用名词进行资源描述(因为动作已经由
get
\post
等这些方法确定了 -
http方法:RESTful API使用http协议中不同的方法来表示不同的操作,实现对资源的CRUD
GET
:获取资源POST
:创建资源PUT
:更新资源DELETE
:删除资源
-
数据格式:RESTful API使用标准的数据格式来表示请求和响应数据,如:JSON、XML等。且请求和响应的数据格式应该统一,方便客户端的处理和解析‘
-
状态码: RESTful API使用标准的HTTP状态码来表示请求和处理结果。常用的状态码包括
200 OK
、201 Created
、400 Bad Request
、401 Unauthorized
、403 Forbidden
、404 Not Found
、500 Internal Server Error
等。客户端可以根据状态码来判断请求是否成功,并根据不同的状态码进行相应的处理。 -
超媒体: RESTful API应该使用超媒体(Hypermedia)来表示资源之间的关系和链接。客户端可以通过超媒体链接轻松地导航和访问不同的资源,从而实现应用程序的动态性和可扩展性。
三、 初始Gin框架
Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架
Gin框架支持开发RESTful API
3.1:安装和使用
- 下载安装
go get -u github.com/gin-gonic/gin
- 将gin引入到当前包,以使用gin框架
import "github.com/gin-gonic/gin"
- gin使用快速入门
package main
import "github.com/gin-gonic/gin"
func main() {
//创建一个默认的路由引擎(引导别人访问什么地址。执行什么函数)
r := gin.Default()
//指定用户使用GET请求访问/hello时,执行sayHello这个函数
r.GET("/hello", func(c *gin.Context) {
//c.JSON,返回JSON格式数据
c.JSON(200, gin.H{
"message": "yyz",
})
})
//启动http服务,默认在0.0.0.0:8080
r.Run()
}
-
路由(Routing)是指根据URL请求路径(或者请求参数)来确定应用程序中相应的代码执行路径的过程。在Web开发中,路由通常指将HTTP请求的URL路径与应用程序中的相应处理函数进行绑定,以便在收到请求时能够正确地路由请求到相应的处理函数中。
-
Web应用程序中的路由通常由路由引擎来管理,路由引擎根据URL路径(或者请求参数)来匹配相应的处理函数,并将HTTP请求转发到相应的处理函数中。
欢迎在评论区交流和留下你的想法和建议
如果对你有用,还请:💭评论 👍🏻点赞 ⭐收藏 ➕关注
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgfibak
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01