国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Go Web開發(fā)】Web初識、RESTful架構(gòu)和RESTful API詳解、Gin框架的安裝和簡單使用

這篇具有很好參考價(jià)值的文章主要介紹了【Go Web開發(fā)】Web初識、RESTful架構(gòu)和RESTful API詳解、Gin框架的安裝和簡單使用。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

【Go Web開發(fā)】Web初識、RESTful架構(gòu)和RESTful API詳解、Gin框架的安裝和簡單使用

  • 博主簡介:努力學(xué)習(xí)的大一在校計(jì)算機(jī)專業(yè)學(xué)生,熱愛學(xué)習(xí)和創(chuàng)作。目前在學(xué)習(xí)和分享:數(shù)據(jù)結(jié)構(gòu)、Go,Java等相關(guān)知識。
  • 博主主頁: @是瑤瑤子啦
  • 所屬專欄: Go語言核心編程
  • 近期目標(biāo):寫好專欄的每一篇文章

【Go Web開發(fā)】Web初識、RESTful架構(gòu)和RESTful API詳解、Gin框架的安裝和簡單使用

一、什么是Web

  • 全稱:“萬維網(wǎng)”(World Wide Web)

  • 本質(zhì):系統(tǒng)(基于互聯(lián)網(wǎng)).由一系列的超文本文檔Hypertext Documents)組成

  • 作用:用戶可以通過瀏覽器/APP,在Web上訪問各種網(wǎng)站、資源

  • 原理(重要):
    【Go Web開發(fā)】Web初識、RESTful架構(gòu)和RESTful API詳解、Gin框架的安裝和簡單使用

  • Web的核心技術(shù):

    • 超文本標(biāo)記語言(HTML等):用于組織和創(chuàng)建Web頁面
    • 超文本傳輸協(xié)議(HTTP):Web客戶端和服務(wù)器之間傳輸數(shù)據(jù)的協(xié)議
    • 網(wǎng)頁瀏覽器(Web Browser):用于顯示W(wǎng)eb頁面的軟件
    • 統(tǒng)一資源定位符(URL):表示W(wǎng)eb資源的地址
  • 發(fā)展歷程

    • 靜態(tài)Web:由靜態(tài)頁面組成,該系統(tǒng)的內(nèi)容是靜態(tài)的、固定的,無法根據(jù)用戶需求進(jìn)行更新
    • 動(dòng)態(tài)Web:使用服務(wù)器端腳本語言(PHP、ASP、JSP)和數(shù)據(jù)庫用于處理用戶請求,動(dòng)態(tài)生成頁面內(nèi)容
    • Web2.0:強(qiáng)調(diào)用戶參與、互動(dòng)、分享社交
      • 用戶生成內(nèi)容(User-generated content):比如瑤瑤子現(xiàn)在在CSDN上寫博客,就是讓我這個(gè)用戶,也成為了Web內(nèi)容的創(chuàng)造者和分享者
      • 社交互動(dòng)(Social interaction)你在評論區(qū)給瑤瑤子評論、或者加入瑤瑤子的社區(qū),我們分享信息、建立聯(lián)系,這就是用戶之間的互動(dòng)
      • 富媒體應(yīng)用(Rich media applications):在線視頻、游戲等

二、RESTful架構(gòu)

?????♂?推薦閱讀:阮一峰 理解RESTful架構(gòu)

2.1:RESTful介紹

RESTful(Representational State Transfer,表述性狀態(tài)轉(zhuǎn)移)是一種軟件架構(gòu)風(fēng)格,它基于HTTP協(xié)議,用于設(shè)計(jì)和開發(fā)網(wǎng)絡(luò)應(yīng)用程序。RESTful架構(gòu)風(fēng)格強(qiáng)調(diào)資源的標(biāo)識狀態(tài)的轉(zhuǎn)移,使得客戶端和服務(wù)器之間的交互變得簡單和可擴(kuò)展。

  • 資源(Resource):
    在RESTful框架中,任何可以被標(biāo)識和訪問的對象都是資源(如網(wǎng)頁、圖片、視頻、數(shù)據(jù)庫記錄等)

  • 每一個(gè)URI(Uniform Resource Identifier:統(tǒng)一資源定位符)對應(yīng)一個(gè)資源實(shí)體
    URL(Uniform Resource Locator:統(tǒng)一資源定位器)URN(Uniform Resource Name:統(tǒng)一資源名稱)都是URI的子集。作用是在互聯(lián)網(wǎng)上唯一標(biāo)識資源,便于資源的訪問和管理。

    • URL:由協(xié)議名、主機(jī)名、路徑、查詢參數(shù)組成。作用:定位資源的具體位置和信息。當(dāng)我們在瀏覽器輸入一個(gè)URL時(shí),瀏覽器會(huì)根據(jù)URL信息向服務(wù)器發(fā)送請求,獲取對應(yīng)資源(網(wǎng)頁、圖片、視頻等)。
    • URN:由命名空間和資源名稱組成,和URL不同的是它不包含用于定位資源的具體信息。作用:指定持久性資源的名稱,比如數(shù)字對象標(biāo)識符(DOI)、國際標(biāo)準(zhǔn)書號(ISBN)、國際標(biāo)準(zhǔn)音像制品編號(ISRC)等,便于資源的唯一標(biāo)識和長期管理。
  • HTTP方法:
    RESTful架構(gòu)使用http協(xié)議定義了一組方法:來對服務(wù)器的資源進(jìn)行操作

    • GET:獲取資源
    • POST:創(chuàng)建資源
    • PUT:更新資源
    • DELETE:刪除資源
  • 表示(Representation)
    ?是客戶端(用戶)和服務(wù)器之間交換數(shù)據(jù)的一種格式,通常由客戶端發(fā)送給服務(wù)器或者由服務(wù)器發(fā)送給客戶端。Representation可以是任何格式的數(shù)據(jù),如:XML、JSON、HTML等
    ?客戶端和服務(wù)器可以使用不同的表示格式進(jìn)行交互,只要它們都能夠解析和處理這個(gè)表示即可。因此,表示的靈活性和可擴(kuò)展性是RESTful架構(gòu)的重要特點(diǎn)之一
    ??????♀?舉例:瑤瑤子把她博客的鏈接(本質(zhì)就是URL:這篇文章的資源標(biāo)識符)分享給你,你在瀏覽器輸入這個(gè)鏈接,按回車,就是從客戶端向CSDN的服務(wù)器發(fā)送了一個(gè)請求,CSDN的服務(wù)器可以將這篇文章的內(nèi)容以某種格式的表示(HTML)返回給你(客戶端),你的瀏覽器可以解析這個(gè)Representation,提取文章內(nèi)容并進(jìn)行顯示和處理~

  • 狀態(tài)轉(zhuǎn)移(State Transfer)
    ?是客戶端和服務(wù)器之間通過http方法和表示,來實(shí)現(xiàn)狀態(tài)的轉(zhuǎn)移。這個(gè)狀態(tài),指的是資源的狀態(tài),可以是任何屬性或者信息。
    ??????♀?舉例:瑤瑤子又要肝博客啦!于是瑤瑤子在CSDN的客戶端給CSDN的服務(wù)器發(fā)送了一個(gè)http的post請求,請求的URI指向博客文章資源的集合。請求中包含新文章的表示(representation),表示中包含:文章標(biāo)題、內(nèi)容等信息。這個(gè)適合服務(wù)器根據(jù)我的請求,創(chuàng)建了一個(gè)新的文章,并且返回了http響應(yīng),響應(yīng)中包含了新文章的URI和狀態(tài)碼。這個(gè)過程,客戶端和服務(wù)器就實(shí)現(xiàn)了狀態(tài)轉(zhuǎn)移的過程,從原來:沒有新文章的狀態(tài),通過Http 的post請求和表示,客戶端和服務(wù)器之間轉(zhuǎn)移到了新的狀態(tài):瑤瑤子的主頁內(nèi)多了一篇新博客!

2.2:RESTful API

2.2.1:什么是API?

?API的全稱是:Application Programming Interface,是一種軟件接口(注意,Web本質(zhì)其實(shí)也是一個(gè)軟件),用于定義軟件組件(或者叫作軟件模塊)之間的通信協(xié)議。

?當(dāng)不同的軟件模塊進(jìn)行相互通信時(shí),它們之間需要一種規(guī)范化的方式來傳遞數(shù)據(jù)和指令,也就是需要一個(gè)雙方都認(rèn)同的通信協(xié)議(這樣,雙方才知道你說了啥,給了我啥,我要做出上面反應(yīng))。

?API就是定義這種規(guī)范的方式,它來規(guī)定不同軟件組件之間如何進(jìn)行通信、傳遞數(shù)據(jù)。且客戶端和服務(wù)端都需要遵守API的定義的規(guī)范,才能正確地進(jìn)行數(shù)據(jù)和指令的傳遞。

?通過使用API,開發(fā)人員可以根據(jù)API的規(guī)范,使用API,輕松的訪問和使用不同軟件組件的功能,無需了解其內(nèi)部實(shí)現(xiàn)細(xì)節(jié)。

分類

  • Web API:通過網(wǎng)絡(luò)進(jìn)行通信的API,使用http協(xié)議+表示(representation)進(jìn)行數(shù)據(jù)交換,包括:RESTful API和SOAP API等
  • 程序庫API:訪問和使用特定編程語言的或框架中的函數(shù)和類
  • 操作系統(tǒng)API:訪問和使用操作系統(tǒng)中的函數(shù)和類
  • 第三方API:由第三方開發(fā)者提供的API,用于訪問和使用其服務(wù)或者平臺

2.2.2:RESTful API

RESTful API是基于RESTful架構(gòu)風(fēng)格(上面已講)的Web API。是通過http協(xié)議和表示來實(shí)現(xiàn)的API設(shè)計(jì)模式。

RESTful API的核心就是客戶端和Web服務(wù)器進(jìn)行交互的適合,使用http協(xié)議中的四個(gè)請求方法,代表對資源的不同操作

  • GET:獲取資源
  • POST:創(chuàng)建資源
  • PUT:更新資源
  • DELETE:刪除資源

只要API程序都遵循了REST風(fēng)格,那么就將其稱為RESTful API.

RESRful API設(shè)計(jì)和開發(fā)和規(guī)范

  1. 資源和URL:資源是指應(yīng)用程序中的實(shí)體或者對象,每一個(gè)資源有唯一的URL地址,可以通過http方法對其進(jìn)行操作??蛻舳丝梢酝ㄟ^URL地址,對資源進(jìn)行CRUD。URL需要簡潔、有意義,使用名詞進(jìn)行資源描述(因?yàn)閯?dòng)作已經(jīng)由get\ post等這些方法確定了

  2. http方法:RESTful API使用http協(xié)議中不同的方法來表示不同的操作,實(shí)現(xiàn)對資源的CRUD

    • GET:獲取資源
    • POST:創(chuàng)建資源
    • PUT:更新資源
    • DELETE:刪除資源
  3. 數(shù)據(jù)格式:RESTful API使用標(biāo)準(zhǔn)的數(shù)據(jù)格式來表示請求和響應(yīng)數(shù)據(jù),如:JSON、XML等。且請求和響應(yīng)的數(shù)據(jù)格式應(yīng)該統(tǒng)一,方便客戶端的處理和解析‘

  4. 狀態(tài)碼: RESTful API使用標(biāo)準(zhǔn)的HTTP狀態(tài)碼來表示請求和處理結(jié)果。常用的狀態(tài)碼包括200 OK、201 Created、400 Bad Request401 Unauthorized、403 Forbidden404 Not Found500 Internal Server Error等。客戶端可以根據(jù)狀態(tài)碼來判斷請求是否成功,并根據(jù)不同的狀態(tài)碼進(jìn)行相應(yīng)的處理。

  5. 超媒體: RESTful API應(yīng)該使用超媒體(Hypermedia)來表示資源之間的關(guān)系和鏈接。客戶端可以通過超媒體鏈接輕松地導(dǎo)航和訪問不同的資源,從而實(shí)現(xiàn)應(yīng)用程序的動(dòng)態(tài)性和可擴(kuò)展性。

三、 初始Gin框架

Gin 是一個(gè)用 Go (Golang) 編寫的 HTTP Web 框架

Gin框架支持開發(fā)RESTful API

3.1:安裝和使用

  • 下載安裝
go get -u github.com/gin-gonic/gin
  • 將gin引入到當(dāng)前包,以使用gin框架
import "github.com/gin-gonic/gin"
  • gin使用快速入門
package main

import "github.com/gin-gonic/gin"

func main() {
	//創(chuàng)建一個(gè)默認(rèn)的路由引擎(引導(dǎo)別人訪問什么地址。執(zhí)行什么函數(shù))
	r := gin.Default()

	//指定用戶使用GET請求訪問/hello時(shí),執(zhí)行sayHello這個(gè)函數(shù)
	r.GET("/hello", func(c *gin.Context) {
		//c.JSON,返回JSON格式數(shù)據(jù)
		c.JSON(200, gin.H{
			"message": "yyz",
		})
	})
	//啟動(dòng)http服務(wù),默認(rèn)在0.0.0.0:8080
	r.Run()
}


  • 路由(Routing)是指根據(jù)URL請求路徑(或者請求參數(shù))來確定應(yīng)用程序中相應(yīng)的代碼執(zhí)行路徑的過程。在Web開發(fā)中,路由通常指將HTTP請求的URL路徑與應(yīng)用程序中的相應(yīng)處理函數(shù)進(jìn)行綁定,以便在收到請求時(shí)能夠正確地路由請求到相應(yīng)的處理函數(shù)中。

  • Web應(yīng)用程序中的路由通常由路由引擎來管理,路由引擎根據(jù)URL路徑(或者請求參數(shù))來匹配相應(yīng)的處理函數(shù),并將HTTP請求轉(zhuǎn)發(fā)到相應(yīng)的處理函數(shù)中。


歡迎在評論區(qū)交流和留下你的想法和建議

如果對你有用,還請:??評論+????點(diǎn)贊+?收藏+?關(guān)注

【Go Web開發(fā)】Web初識、RESTful架構(gòu)和RESTful API詳解、Gin框架的安裝和簡單使用文章來源地址http://www.zghlxwxcb.cn/news/detail-439119.html

  • Java島冒險(xiǎn)記【從小白到大佬之路】
  • LeetCode每日一題–進(jìn)擊大廠
  • 算法
  • C/C++
  • Go語言核心編程
  • 數(shù)據(jù)結(jié)構(gòu)

到了這里,關(guān)于【Go Web開發(fā)】Web初識、RESTful架構(gòu)和RESTful API詳解、Gin框架的安裝和簡單使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 基于go語言gin框架的web項(xiàng)目骨架

    節(jié)省時(shí)間與精力,更高效地打造穩(wěn)定可靠的Web項(xiàng)目:基于Go語言和Gin框架的完善Web項(xiàng)目骨架。無需從零開始,直接利用這個(gè)骨架,快速搭建一個(gè)功能齊全、性能優(yōu)異的Web應(yīng)用。充分發(fā)揮Go語言和Gin框架的優(yōu)勢,輕松處理高并發(fā)、大流量的請求。構(gòu)建可擴(kuò)展性強(qiáng)、易于維護(hù)的代碼

    2024年02月08日
    瀏覽(26)
  • 初始化一個(gè)Gin框架的Go-Web項(xiàng)目

    使用到的第三方庫 gin Gin 框架 viper 配置文件管理 cors 跨域資源請求配置 gorm ORM 庫 zap 日志記錄 Go 語言程序的入口點(diǎn) main.go 文件 使用 flag 讀取配置文件路徑參數(shù),默認(rèn)當(dāng)前目錄下 使用 viper 讀取 config.ini 配置文件初始化初始數(shù)據(jù) 初始化隨機(jī)數(shù)種子 初始化數(shù)據(jù)庫 聲明啟動(dòng)程序

    2024年02月09日
    瀏覽(26)
  • go web框架 gin-gonic源碼解讀01————Engine

    gin-gonic是go語言開發(fā)的輕量級web框架,性能優(yōu)異,代碼簡潔,功能強(qiáng)大。有很多值得學(xué)習(xí)的地方,最近準(zhǔn)備把這段時(shí)間學(xué)習(xí)gin的知識點(diǎn),通過engine,context,router,middleware幾篇博客文章總結(jié)總結(jié)。 而Engine是gin框架最核心的結(jié)構(gòu)體。 為什么gin需要設(shè)計(jì)一個(gè) Engine 結(jié)構(gòu)體? 因?yàn)間i

    2024年02月14日
    瀏覽(20)
  • go web框架 gin-gonic源碼解讀03————middleware

    今天打完游戲有空整理整理之前看的gin的中間件設(shè)計(jì),go的中間件設(shè)計(jì)相較于前兩站還是蠻簡單,蠻容易看懂的,所以順便把context也一起寫一下。 中間件是現(xiàn)在web服務(wù)里統(tǒng)一化拓展最常用的功能,,他是為了在我們的web服務(wù)中實(shí)現(xiàn)一些可重復(fù)使用,可組合的功能方法、可以讓

    2024年02月11日
    瀏覽(26)
  • go web框架 gin-gonic源碼解讀02————router

    本來想先寫context,但是發(fā)現(xiàn)context能簡單講講的東西不多,就準(zhǔn)備直接和router合在一起講好了 router是web服務(wù)的路由,是指講來自客戶端的http請求與服務(wù)器端的處理邏輯或者資源相映射的機(jī)制。(這里簡單說說,詳細(xì)的定義網(wǎng)上都可以查到) 那一個(gè)優(yōu)秀的web router應(yīng)該提供以下

    2024年02月12日
    瀏覽(29)
  • Python web實(shí)戰(zhàn)之Django 的 RESTful API 設(shè)計(jì)詳解

    Python web實(shí)戰(zhàn)之Django 的 RESTful API 設(shè)計(jì)詳解

    ? : Python, Web 開發(fā), Django, RESTful API 1.1 什么是API? API是應(yīng)用程序編程接口(Application Programming Interface)的縮寫。它是一種定義了不同軟件組件之間交互方式的規(guī)范。API允許不同的應(yīng)用程序之間進(jìn)行通信和數(shù)據(jù)交換,使得開發(fā)者能夠利用其他應(yīng)用程序提供的功能和數(shù)據(jù),

    2024年02月14日
    瀏覽(95)
  • 一個(gè)月學(xué)通Python(二十三):RESTful架構(gòu)和DRF入門(Web開發(fā))

    結(jié)合自身經(jīng)驗(yàn)和內(nèi)部資料總結(jié)的Python教程,每天3-5章,最短1個(gè)月就能全方位的完成Python的學(xué)習(xí)并進(jìn)行實(shí)戰(zhàn)開發(fā),學(xué)完了定能成為大佬!加油吧!卷起來! 全部文章請?jiān)L問專欄:《Python全棧教程(0基礎(chǔ))》

    2024年02月14日
    瀏覽(19)
  • GO 的 Web 開發(fā)系列(八)—— Gin 自定義 Html 渲染實(shí)現(xiàn)多租戶的模板設(shè)計(jì)

    本文主要解決在多租戶場景下的模板渲染問題。 正常情況下 Gin 配置的所有模板都屬于同一個(gè)模板組合,相同名稱的模板將相互覆蓋。在未通過 define 指定模板名稱時(shí),同名模板文件也將相互覆蓋。自定義函數(shù)中也無法區(qū)分租戶,這將非常不方便我們進(jìn)行多租戶的模板渲染處

    2024年04月22日
    瀏覽(22)
  • Vue系列第五篇:Vue2(Element UI) + Go(gin框架) + nginx開發(fā)登錄頁面及其校驗(yàn)登錄功能

    Vue系列第五篇:Vue2(Element UI) + Go(gin框架) + nginx開發(fā)登錄頁面及其校驗(yàn)登錄功能

    ? ?本篇使用Vue2開發(fā)前端,Go語言開發(fā)服務(wù)端,使用nginx代理部署實(shí)現(xiàn)登錄頁面及其校驗(yàn)功能。 目錄 1.部署結(jié)構(gòu) 2.Vue2前端 2.1代碼結(jié)構(gòu) 2.1源碼 3.Go后臺服務(wù) 3.2代碼結(jié)構(gòu) 3.2?源碼 3.3單測效果 4.nginx 5.運(yùn)行效果 6.問題總結(jié) ? index.html !DOCTYPE html html ? head ? ? meta charset=\\\"utf-8\\\" ? ? m

    2024年02月15日
    瀏覽(30)
  • 使用Go編寫RESTful API

    使用Go編寫RESTful API

    RESTful API是一種流行的Web服務(wù)設(shè)計(jì)風(fēng)格,它基于HTTP協(xié)議,通過不同的HTTP方法(如GET、POST、PUT、DELETE等)來定義不同的操作。使用Go語言編寫RESTful API可以讓你充分利用Go語言的強(qiáng)大特性和性能優(yōu)勢。 下面是一個(gè)簡單的示例,演示如何使用Go編寫一個(gè)基本的RESTful API: go 復(fù)制代

    2024年01月24日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包