php结合golang restful,Golang Gin 实战Ⅱ | 简便的Restful API 实现

HTTP Method

GET

GET方法请求一个指定资源的表示形式. 使用GET的请求应该只被用于获取数据.

HEAD

HEAD方法请求一个与GET请求的响应相同的响应,但没有响应体.

POST

POST方法用于将实体提交到指定的资源,通常导致在服务器上的状态变化或副作用.

PUT

PUT方法用请求有效载荷替换目标资源的所有当前表示。

DELETE

DELETE方法删除指定的资源。

CONNECT

CONNECT方法建立一个到由目标资源标识的服务器的隧道。

OPTIONS

OPTIONS方法用于描述目标资源的通信选项。

TRACE

TRACE方法沿着到目标资源的路径执行一个消息环回测试。

PATCH

PATCH方法用于对资源应用部分修改。

HTTP的规范,对这些方法的用途都有了明确的定义,而我们使用的过程中,也尽可能的遵循这些定义,这样我们在开发中才可以更好的协作。

RESTful API 规范

其实我们应该可以发现,我们开发的一个个Web应用服务或者程序,其实就是对服务器的资源的CRUD(创建、检索、更新和删除),所以 RESTful API 的规范建议我们使用特定的HTTP方法来对服务器上的资源进行操作。

在 RESTful API 中,使用的主要是以下五种HTTP方法:

1.GET,表示读取服务器上的资源

2.POST,表示在服务器上创建资源

3.PUT,表示更新或者替换服务器上的资源

4.DELETE,表示删除服务器上的资源

5.PATCH,表示更新/修改资源的一部分

复制代码

Gin RESTful API 实现

type User struct {

ID uint64

Name string

}

func main() {

users := []User{{ID: 123, Name: "张三"}, {ID: 456, Name: "李四"}}

r := gin.Default()

r.GET("/users", func(c *gin.Context) {

c.JSON(200, users)

})

r.Run(":8080")

}

复制代码

这里我们通过GET方法就可以很容易的注册一HTTP GET请求的处理逻辑,这里是返回所有的用户信息,JSON的格式。

我们运行这段代码,在浏览器里打开http://localhost:8080/users,就可以看到如下信息:

[{"ID":123,"Name":"张三"},{"ID":456,"Name":"李四"}]

复制代码

Gin不光为我们提供了快捷的GET方法,还有其他方法,可以很容易的让我们实现对应的HTTP Method方法注册。

r.POST("/users", func(context *gin.Context) {

//创建一个用户

})

r.DELETE("/usrs/123", func(context *gin.Context) {

//删除ID为123的用户

})

r.PUT("/usrs/123", func(context *gin.Context) {

//更新ID为123的用户

})

r.PATCH("/usrs/123", func(context *gin.Context) {

//更新ID为123用户的部分信息

})

复制代码

此外还有不常用的HEAD、OPTIONS、TRACE、CONNECT等方法,从中可以看出,Gin的API非常友好,可以让我们很容易的使用相应的方法来注册我们对某个HTTP Method的处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值