Go 语言web 框架 Gin 练习4
生活随笔
收集整理的這篇文章主要介紹了
Go 语言web 框架 Gin 练习4
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
文章目錄
- 1 介紹
- 2 練習
- 友情援助
1 介紹
Gin是一個golang的微框架,封裝比較優雅,API友好,源碼注釋比較明確,具有快速靈活,容錯方便等特點
對于golang而言,web框架的依賴要遠比Python,Java之類的要小。自身的net/http足夠簡單,性能也非常不錯
借助框架開發,不僅可以省去很多常用的封裝帶來的時間,也有助于團隊的編碼風格和形成規范.
2 練習
本次練習主要爭對上一次任務進行了改善,
上一次發放的token是一個固定的11,
沒有起到token的作用,
這次改良它。
具體實現函數如下,
func Login(ctx *gin.Context) {//獲取參數DB := common.GetDB()telephone := ctx.PostForm("telephone")password := ctx.PostForm("password")//數據驗證if len(telephone) != 11 {ctx.JSON(http.StatusUnprocessableEntity,gin.H{"code": 422, "msg": "手機號必須為11位"})return}if len(password) < 6 || len(password) > 11 {ctx.JSON(http.StatusUnprocessableEntity,gin.H{"code": 422, "msg": "密碼必須大于6位且小于11位"})return}//手機號判斷var user Model.UserDB.Where("telephone=?", telephone).First(&user)if user.ID == 0 {ctx.JSON(http.StatusUnprocessableEntity, gin.H{"code": 422,"msg": "用戶不存在"})return}//判斷密碼正確?if err := bcrypt.CompareHashAndPassword([]byte(user.Password), []byte(password)); err != nil {ctx.JSON(http.StatusBadRequest, gin.H{"code": 400, "msg": "密碼錯誤"})return} //發放tokentoken, err := common.ReleaseToken(user)if err != nil {ctx.JSON(http.StatusInternalServerError, gin.H{"code": 500,"msg": "系統異常"})log.Printf("token generate error:%v", err)return}本次代碼主要修改工作,
主體部分,就是調用common里的releasetoken函數,
獲得token。
上面是token的生成函數,主題部分調用了,jwt相關函數生成相應代碼。
友情援助
有問題的可以關注公眾號,博主會在24小時內回復。
總結
以上是生活随笔為你收集整理的Go 语言web 框架 Gin 练习4的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 突破5G壁垒,睿至科技集团以技术实力赋能
- 下一篇: python开发项目架构图_我的第一个p