日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ginapi服务器性能,gin框架构建Api之:环境配置和路由

發布時間:2025/3/12 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ginapi服务器性能,gin框架构建Api之:环境配置和路由 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Gin是一個golang的微框架,封裝比較優雅,API友好,源碼注釋比較明確,已經發布了1.0版本。具有快速靈活,容錯方便等特點。其實對于golang而言,web框架的依賴要遠比Python,Java之類的要小。自身的net/http足夠簡單,性能也非常不錯。框架更像是一些常用函數或者工具的集合。借助框架開發,不僅可以省去很多常用的封裝帶來的時間,也有助于團隊的編碼風格和形成規范。

什么是 API

API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數或者接口,目的是提供應用程序與開發人員基于某軟件或硬件得以訪問一組例程的能力,而又無須訪問源碼,或理解內部工作機制的細節。

要實現一個 API 服務器,首先要考慮兩個方面:API 風格和媒體類型。Go 語言中常用的 API 風格是 RPC 和 REST,常用的媒體類型是 JSON、XML 和 Protobuf。在 Go API 開發中常用的組合是 gRPC + Protobuf 和 REST + JSON,本次我們使用gin作為api服務的構建框架。

加載路由,并啟動 HTTP 服務

main.go 中的 main() 函數是 Go 程序的入口函數,在 main() 函數中主要做一些配置文件解析、程序初始化和路由加載之類的事情,最終調用 http.ListenAndServe() 在指定端口啟動一個 HTTP 服務器。本小節是一個簡單的 HTTP 服務器,僅初始化一個 Gin 實例,加載路由并啟動 HTTP 服務器。

開發環境搭建

Go 有多種安裝方式,比如 Go 源碼安裝、Go 標準包安裝、第三方工具(yum、apt-get 等)安裝。本小冊 API 運行在 Linux 服務器上,選擇通過標準包來安裝 Go 編譯環境。Go 提供了每個平臺打好包的一鍵安裝,這些包默認會安裝到如下目錄:/usr/local/go。當然你可以改變它們的安裝位置,但是改變之后你必須在你的環境變量中設置如下兩個環境變量:

GOROOT:GOROOT 就是 Go 的安裝路徑

GOPATH:GOPATH 是作為編譯后二進制的存放目的地和 import 包時的搜索路徑

假定你想要安裝 Go 的目錄為 $GO_INSTALL_DIR,后面替換為相應的目錄路徑,安裝步驟如下。

下載安裝包

安裝包下載地址為 golang.org,如果打不開可以使用這個地址:golang.google.cn。

Linux 版本選擇 goxxxxx.linux-amd64.tar.gz 格式的安裝包,這里在 Linux 服務器上直接用 wget 命令下載:

$ wget https://dl.google.com/go/go1.10.2.linux-amd64.tar.gz

設置安裝目錄

$ export GO_INSTALL_DIR=$HOME

這里我們安裝到用戶主目錄下。

解壓 Go 安裝包

$ tar -xvzf go1.10.2.linux-amd64.tar.gz -C $GO_INSTALL_DI

設置環境變量

$ export GO_INSTALL_DIR=$HOME

$ export GOROOT=$GO_INSTALL_DIR/go

$ export GOPATH=$HOME/ginserver

$ export PATH=$GOPATH/bin:$PATH:$GO_INSTALL_DIR/go/bin

如果不想每次登錄系統都設置一次環境變量,可以將上面 4 行追加到 $HOME/.bashrc 文件中。

執行 go version 檢查 Go 是否成功安裝

$ go version

go version go1.10.2 linux/amd64

看到 go version 命令輸出 go 版本號 go1.10.2 linux/amd64,說明 go 命令安裝成功。

創建 $GOPATH/src 目錄, $GOPATH/src是 Go 源碼存放的目錄,所以在正式開始編碼前要先確保 $GOPATH/src 目錄存在,執行命令:

$ mkdir -p $GOPATH/src

加載路由,并啟動 HTTP 服務

main.go 中的 main() 函數是 Go 程序的入口函數,在 main() 函數中主要做一些配置文件解析、程序初始化和路由加載之類的事情,最終調用 http.ListenAndServe() 在指定端口啟動一個 HTTP 服務器。本小節是一個簡單的 HTTP 服務器,僅初始化一個 Gin 實例,加載路由并啟動 HTTP 服務器。

編寫入口函數,編寫 main() 函數,main.go 代碼:

package main

import (

"runtime"

"com.api.com/router"

)

func main() {

runtime.GOMAXPROCS(runtime.NumCPU())

routers := router.InitRouter()

routers.Run(":8080")

}

加載路由 src/com.api.com/router/router.go

.........

// InitRouter 定義路由及函數

func InitRouter() *gin.Engine {

router := gin.Default()

load(

// Cores.

router,

// Middlwares.

middleware.Logging(),

)

//router.GET("/video/getAddressByFileId", http.GetAddressByFileID)

return router

}

自定義recovery捕獲錯誤

gin.Recovery():在處理某些請求時可能因為程序 bug 或者其他異常情況導致程序 panic,這時候為了不影響下一次請求的調用,需要通過 gin.Recovery()來恢復 API 服務器

`````

type recovery struct {

//out optional output to log any panics

}

func (r recovery) Serve(ctx *gin.Context) {

defer func() {

if err := recover(); err != nil {

fmt.Println("recover from panic", err.(error),string(debug.Stack()))

errJson, _:= json.Marshal(ctx.Request.URL.Query())

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的ginapi服务器性能,gin框架构建Api之:环境配置和路由的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 深夜视频在线观看 | 国产成人短视频在线观看 | 国产农村熟妇videos | 毛片网站视频 | 国产精彩视频在线 | 日本成人黄色 | 中文字幕 欧美激情 | 日本网站免费 | 香蕉视频在线网站 | 色资源av| 3d动漫啪啪精品一区二区中文字幕 | 中文字幕久久熟女蜜桃 | 在线观看亚洲av每日更新 | 黄色网址国产 | 久久亚洲网 | 美女一区二区三区视频 | 国产精品美女久久久久av爽 | 成人免费短视频 | 久久婷婷一区二区 | 伊人伊人鲁 | 韩国成人理伦片免费播放 | 亚洲精品h | 欧美乱妇狂野欧美在线视频 | 一个人在线观看www软件 | 女人的黄色片 | 欧美一区二区激情视频 | 久热欧美 | 亚洲欧洲一二三区 | 日本大尺度吃奶做爰视频 | 波多野结衣av中文字幕 | 色片在线免费观看 | 91麻豆产精品久久久久久夏晴子 | 日韩精品影视 | 波多野结衣绝顶大高潮 | 成人你懂的| 日日操操 | 金瓶风月在线 | 特级丰满少妇一级aaaa爱毛片 | 99精品欧美一区二区蜜桃免费 | 69视频一区 | 成为性瘾网黄的yy对象后 | 亚洲一区二区动漫 | 国产午夜精品福利视频 | 浴室里强摁做开腿呻吟男男 | 三年中文免费观看大全动漫 | 日韩一区二区不卡视频 | 警察高h荡肉呻吟男男 | 亚洲三级色 | 成人在线观看一区二区三区 | 超碰国产91 | 亚洲精品第二页 | 欧美xxxxbbb| 夜夜操夜夜干 | 女同性做受全过程动图 | 直接看的毛片 | 诱惑の诱惑筱田优在线播放 | 久久久久久久久久久久久女过产乱 | 亚洲一品道 | 免费看国产精品 | 日韩中文字幕不卡 | 久久99国产综合精品免费 | 91嫩草影视 | 国产网站免费 | 一级免费观看 | 精品一二三区 | 欧美激情xxx | 欧洲视频一区 | 天堂网中文字幕 | 综合激情av | xxxx国产精品 | 亚洲精品乱码久久久久久按摩观 | 色妞综合 | 日韩污污| 亚洲激情精品 | 欧美肥老妇视频九色 | 久久久久久久精 | 女同性做爰全过程 | h在线免费 | 人妻熟女一区二区aⅴ水 | 国产一级二级三级精品 | 国产a视频 | 麻豆网站在线观看 | 国产精品无码成人网站视频 | 欧美1 | 日韩伦理一区二区 | 青青操原 | 亚洲精品高潮久久久久久久 | 国产在线观看你懂的 | 国产精品自产拍高潮在线观看 | 久久艹中文字幕 | 午夜激情福利视频 | 国产女人在线观看 | 亚洲成年人网 | 青春草视频在线免费观看 | 国模无码视频一区 | 超级黄色录像 | 国产成人精品免费网站 | 四虎黄色 | 丰满熟妇人妻av无码区 |