网站建设需要注意哪些,成立学校网站建设小组,鼓楼区建设房产和交通局网站,公司网络组建方案一、重点内容#xff1a;
知识要点有哪些#xff1f;
1、了解Gin框架
2、导入使用Gin框架
3、尝试配合GORM开发
4、整合html#xff0c;css#xff0c;js
二、详细知识点介绍#xff1a;
1、Gin框架介绍
Gin是一个golang的微框架#xff0c;封装比较优雅…一、重点内容
知识要点有哪些
1、了解Gin框架
2、导入使用Gin框架
3、尝试配合GORM开发
4、整合htmlcssjs
二、详细知识点介绍
1、Gin框架介绍
Gin是一个golang的微框架封装比较优雅API友好源代码比较明确。具有快速灵活容错方便等特点。其实对于golang而言web框架的依赖远比PythonJava之类的要小。自身的net/http足够简单性能也非常不错。框架更像是一个常用函数或者工具的集合。借助框架开发不仅可以省去很多常用的封装带来的时间也有助于团队的编码风格和形成规范。
Gin官方文档地址: https://gin-gonic.com/zh-cn/docs/
2、安装Gin
要安装 Gin 软件包需要先安装 Go 并设置 Go 工作区。
1.下载并安装 gin
$ go get -u github.com/gin-gonic/gin2.将 gin 引入到代码中
import github.com/gin-gonic/gin3、初体验——创建一个get请求
代码
package mainimport (github.com/gin-gonic/ginnet/http
)func main() {// 创建一个服务ginServer : gin.Default()// 添加一个get响应ginServer.GET(/hello, func(context *gin.Context) {context.JSON(http.StatusOK, gin.H{msg: hello world!})})// 服务器端口err : ginServer.Run(:8082)if err ! nil {return}
}测试
浏览器访问localhost:8082/hello 控制台日志 4、简单的GORMGin给前端发送MySQL中数据
代码
package mainimport (database/sqlgithub.com/gin-gonic/gingithub.com/jinzhu/gorm_ github.com/jinzhu/gorm/dialects/mysqllognet/httptime
)// User 数据库映射结构体
type User struct {ID uintName stringEmail *stringAge uint8Birthday *time.TimeMemberNumber sql.NullStringActivatedAt sql.NullTimeCreatedAt time.TimeUpdatedAt time.Time
}func main() {// 创建一个服务ginServer : gin.Default()// 数据库操作db, err : gorm.Open(mysql, root:XXXXXXtcp(127.0.0.1:3306)/mybatis?charsetutf8mb4parseTimeTruelocLocal)if err ! nil {log.Println(err)return}// 查询ID为2的数据var u Userfirst : db.Where(id?, 2).First(u)if first.Error ! nil {log.Println(first.Error)}// 添加一个get响应ginServer.GET(/hello, func(context *gin.Context) {context.JSON(http.StatusOK, gin.H{name: u.Name, age: u.Age, id: u.ID})})// 服务器端口err ginServer.Run(:8082)if err ! nil {return}
}测试
浏览器访问 控制台日志 数据库查看 可以看到成功将数据库的数据响应给浏览器了。
5、图标配置
导入相应包
$ go get -u github.com/thinkerou/favicon使用本地图标 代码
package mainimport (github.com/gin-gonic/gingithub.com/thinkerou/faviconlognet/http
)func main() {// 创建一个服务ginServer : gin.Default()// 使用图标ginServer.Use(favicon.New(./static/哔哩哔哩.png))// 添加一个get响应ginServer.GET(/hello, func(context *gin.Context) {context.JSON(http.StatusOK, gin.H{name: 李华, age: 20})})// 服务器端口err : ginServer.Run(:8082)if err ! nil {log.Panicln(err)return}
}测试 6、RestFul API开发
get /user
post /user
put /user
delete /user
post测试
安装APIpost工具用于测试
代码
package mainimport (github.com/gin-gonic/gingithub.com/thinkerou/faviconlognet/http
)func main() {// 创建一个服务ginServer : gin.Default()// 使用图标ginServer.Use(favicon.New(./static/哔哩哔哩.png))// 添加一个get响应ginServer.GET(/hello, func(context *gin.Context) {context.JSON(http.StatusOK, gin.H{name: 李华, age: 20})})// 添加一个post响应ginServer.POST(/user, func(context *gin.Context) {context.JSON(http.StatusOK, gin.H{msg: post user})})// 服务器端口err : ginServer.Run(:8082)if err ! nil {log.Panicln(err)return}
}测试 put测试
同post测试
代码
ginServer.PUT(/user, func(context *gin.Context) {context.JSON(http.StatusOK, gin.H{msg: post user})
})测试 7、给前端响应html
创建html
一般放在templates目录下 index.html
!DOCTYPE html
html langen
headmeta charsetUTF-8titlego web/title
/head
body
h1Holle
/h1
后端发送的消息
{{.msg}}
img srchttps://ts1.cn.mm.bing.net/th?idORMS.125d9efb147fe32b7990b8282e6bd509pidWdpw612h304qlt90c1rs1dpr0.9333299994468689p0
/body
/html代码
package mainimport (github.com/gin-gonic/gingithub.com/thinkerou/faviconlognet/http
)func main() {// 创建一个服务ginServer : gin.Default()// 使用图标ginServer.Use(favicon.New(./static/哔哩哔哩.png))// 加载htmlginServer.LoadHTMLGlob(templates/*)// 响应页面给前端ginServer.GET(/index, func(context *gin.Context) {context.HTML(http.StatusOK, index.html, gin.H{msg: 服务器发送的html,})})// 服务器端口err : ginServer.Run(:8082)if err ! nil {log.Panicln(err)return}
}测试 可以看到成功返回了html数据。
8、整合css和js到html然后响应给前端
创建css和js css: js: 整合到html
!DOCTYPE html
html langen
headmeta charsetUTF-8titlego web/title
!-- 链接 css和js--link relstylesheet href../static/css/style.cssscript src../static/js/common.js/script
/head
body
h1Holle
/h1
后端发送的消息
{{.msg}}
img srchttps://ts1.cn.mm.bing.net/th?idORMS.125d9efb147fe32b7990b8282e6bd509pidWdpw612h304qlt90c1rs1dpr0.9333299994468689p0
/body
/html代码
// 加载静态资源
ginServer.Static(/static, ./static)
// 响应页面给前端
ginServer.GET(/index, func(context *gin.Context) {context.HTML(http.StatusOK, index.html, gin.H{msg: 服务器发送的html,})
})测试 可以看到已经响应。 html也响应。
三、课后个人总结
此处学习了go的Gin框架了解了gin框架的强大设置可以直接编译成exe文件跨平台运行。