Golang
Gin路由
Gin本身是支援restful的,所以可以看一下github所写的范例,使用route.就可以直接使用各种HTTP的方式罗!
func main() {
// Creates a gin router with default middleware:
// logger and recovery (crash-free) middleware
router := gin.Default()
router.GET("/someGet", getting)
router.POST("/somePost", posting)
router.PUT("/somePut", putting)
router.DELETE("/someDelete", deleting)
router.PATCH("/somePatch", patching)
router.HEAD("/someHead", head)
router.OPTIONS("/someOptions", options)
// By default it serves on :8080 unless a
// PORT environment variable was defined.
// router.Run()
// router.Run(":8000")
}
简单说明一下restful,restful是一种规范或者风格,并非一种技术或者程序语言,所以严格来说不使用不遵守也不会怎样,但为什麽需要他就稍微简短的说明。
常见的Http Method有以下
RESTful:
在传统API上,我们可能会看到这样的function name 或者API name
新增使用者: /postUser
查所有帐号: /getUsers
查询使用者: /getUser
修改使用者: /updateUser
删除使用者: /delUser
那如果对方是使用RESTful的话
新增使用者:POST /user
查所有帐号:GET /users
查询使用者:GET /user/1
修改使用者:PUT /user/1
删除使用者:DELETE /user/1
从这里可以看出,RESTful希望操作资料的行为以http method作为依据,所以双方都可以从http method就可以知道这资料的操作行为是什麽了,以减少传统在命名方式上,需要心有灵犀一点通的默契。
所以这时候我们回推一下,一开始的范例,如果是RESTful风格的话,理论上你的route每一个地都只会对资料做某件事情唷!例如GET就不应该会更新资料才是。
当然RESTful有几个基本的定义啦!这部分就给有兴趣的朋友自行喂狗了。
那继续来看一下gin的route
package main
import (
"net/http"
"github.com/gin-gonic/gin"
)
func main() {
router := gin.Default()
router.GET("/user/:name", func(c *gin.Context) {
name := c.Param("name")
c.String(http.StatusOK, "Hello %s", name)
})
router.Run(":8000")
}
这时候输入看看http://localhost:8000/user/Tom
从程序码可以猜出:name就是对应c.Param("name")
当然我们也可以改成
router.GET("/user/:name/:age", func(c *gin.Context) {
name := c.Param("name")
age := c.Param("age")
c.String(http.StatusOK, "Hello %s", name)
c.String(http.StatusOK, "age %s", age)
})
参考资料
https://github.com/gin-gonic/gin
今天要跟大家介绍 Zabbix 架构 Zabbix 基本资讯 官网 https://www.zabb...
开发框架 在昨日有提到负责後端的研习生的第一个功课是确定开发的框架,而在评估了一个月之後的考量对象包...
ViewPager ViewPager是个让使用者能左右切换view的功能,而ViewPager是直...
CSS 三角形作法 语法 HTML <div class="box">...
昨天之後又做了一些尝试: 用php7.4-apache做一个新的容器,然後用docker-php-e...