构建API接口 | 青训营

100 阅读2分钟

构建API接口

什么是API

应用程序编程接口(API)是两个或多个计算机程序相互通信的一种方式。它是一种软件接口,为其他软件提供[服务描述如何构建或使用此类连接或接口的文档或标准称为API规范。

在网络开发过程中我们常用RESTful API来进行开发规范。

什么是RESTful API

REST

  • REST,全名 Representational State Transfer (表现层状态转移),他是一种设计风格,一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件

RESTful

  • RESTful 只是转为形容詞,就像那么 RESTful API 就是满足 REST 风格的,以此规范设计的 API。

RESTful API

  • 我们常见的 API 一般都长这样子:

img

  • 而 RESTful 风格的 API 却长这样子:

  • img

    Uniform Interface(统一接口)

    • 就像我们上面两幅图看到的 API,这是最直观的特征,是 REST 架构的核心,统一的接口对于 RESTful 服务非常重要。客户端只需要关注实现接口就可以,接口的可读性加强,使用人员方便调用
    • RESTful API 通过 URL 定位资源,并通过 HTTP 方法操作该资源,对资源的操作包括获取、创建、修改和删除,这些操作正好对应 HTTP 协议提供的 GET、POST、PUT 和 DELETE 方法。

    ​ GET:获取资源信息。

    ​ POST:创建一个新资源。

    ​ PUT:更新已有的资源。

    ​ DELETE:删除已有的资源。

    • 在一个完全遵循 RESTful 的团队里,后端只需要告诉前端 /users 这个 API,前端就应该知道:

    ​ 获取所有用户:GET /users

    ​ 获取特定用户:GET /users/{id}

    ​ 创建用户:POST /users

    ​ 更新用户:PUT /users/{id}

    ​ 删除用户:DELETE /users/{id}

    • 当 API 数量非常多,系统非常复杂时,RESTful 的好处会越来越明显。理解系统时,可以直接围绕一系列资源来理解和记忆。

在gin中使用创建RESTful api接口

package main

import (
	"net/http"

	"github.com/gin-gonic/gin"
)

type User struct {
	ID   int64
	Name string
}

func main() {
	users := []User{
		{ID: 1, Name: "lihua"},
		{2, "lili"},
	}
	r := gin.Default()
	r.GET("/users", func(context *gin.Context) {
		context.JSON(http.StatusOK, users)
	})
	r.POST("/users", func(context *gin.Context) {
		// 创建用户

	})
	r.DELETE("/users/1", func(context *gin.Context) {
		// 删除id 为1的用户

	})
	r.PUT("/users/1", func(context *gin.Context) {
		// 添加id 为1的用户

	})
	r.Run(":8080")

}

这就是一个简单的RESTful 风格的API接口