本文已参与「新人创作礼」活动,一起开启掘金创作之路。

1、路由概述

路由(Routing)是由一个 URI(或者叫路径)和一个特定的 HTTP 方法(GET、POST 等)组成的,涉及到应用如何响应客户端对某个网站节点的访问。

这就不得不提restful架构了,在 RESTful 架构中,每个网址代表一种资源(也是每一个URI),不同的请求方式表示执行不同的操作:

POST:从服务器创建一个资源 GET: 从服务器取出资源 PUT: 客户端提供更新后的资源给服务器 DELETE:删除服务器资源

2、配置路由(使用postman测试)

1、简单配置

```go GET: r.GET("/url",function)

r.GET("/hello", func(c *gin.Context) { c.String(200, "Get") })

POST: r.POST("/url",function) //与get类似

PUT: r.PUT("/url",function)

DELETE: r.DELETE("/url",function) ```

2、使用GET请求在路径获取值

go 1、启动项目 2、在浏览器输入 域名/hello?id=10 r.GET("/hello", func(c *gin.Context) { aid := c.Query("id") //截取路径id c.String(200, "id=%s", id) })

3、动态路由

动态路由应用广泛,比如需要某一个商品详情,我们就可以通过动态路由,使用商品的id查询商品的数据,然后传送到前端。 go // 在浏览器输入: 域名/hello/10 r.GET("/hello/:id", func(c *gin.Context) { id := c.Param("id") //截取路径上的id c.String(200, "helloID=%s", id) })

4、c.String() c.JSON() c.JSONP() c.XML() c.HTML()的数据

gin框架一般使用c.String() c.JSON() c.JSONP() c.XML() c.HTML()返回数据

1、返回一个字符串

go r.GET("/hello", func(c *gin.Context) { aid := c.Query("id") c.String(200, "id=%s", id) })

返回一个 JSON 数据

``go func main() { r := gin.Default() // gin.H 是 map[string]interface{}的缩写 r.GET("/helloJSON", func(c *gin.Context) { // 方式一:自己拼接 JSON c.JSON(http.StatusOK, gin.H{"message": "Hello world!" }) }) r.GET("/moreJSON", func(c *gin.Context) { // 方法二:使用结构体 var msg struct { Name stringjson:"user"` Message string

}

msg.Name = "JSON数据"

msg.Message = "Hello JSONDATA"

c.JSON(http.StatusOK, msg) })

r.Run(":8080") } ``` 其他几个和这两个差不多,就不啰里啰唆了。

3、渲染模板

go router.GET("/", func(c *gin.Context) { c.HTML(http.StatusOK, "default/index.html", //渲染到哪个页面 map[string]interface{}{ "msg": "hello template" }) }) //数据

参考文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: