GoLang GIN框架restful接口

GoLang Gin框架restful接口

Gin框架实现restful风格的API

Get、Post、Put、Delete

1、主函数

func main() {

	router := gin.Default()

	router.GET("/students", getAllStudent)
	router.GET("/students/:id", getStudentById)
	router.POST("/students", addStudent)
	router.PUT("/students", updateStudent)
	router.DELETE("/students/:id", deleteStudent)

	_ = router.Run("localhost:8080")
}

2、Get

func getAllStudent(context *gin.Context) {
	context.IndentedJSON(http.StatusOK, classInfo)
}

func getStudentById(context *gin.Context) {
	id := context.Param("id")

	for _, student := range classInfo {
		if student.ID == id {
			context.IndentedJSON(http.StatusOK, student)
			return
		}
	}

	context.IndentedJSON(http.StatusNotFound, gin.H{"message": "album not found"})
}

3、Post

func addStudent(context *gin.Context) {
	var student Student

	if err := context.BindJSON(&student); err != nil {
		context.IndentedJSON(http.StatusOK, "params error")
		return
	}

	classInfo = append(classInfo, student)
	context.IndentedJSON(http.StatusCreated, student)
}

4、Put

func updateStudent(context *gin.Context) {
	var student Student

	if err := context.BindJSON(&student); err != nil {
		context.IndentedJSON(http.StatusOK, "params error")
		return
	}

	for i, s := range classInfo {
		if s.ID == student.ID {
			classInfo[i] = student
			context.IndentedJSON(http.StatusOK, "update success")
			return
		}
	}
	context.IndentedJSON(http.StatusNotFound, "not found student")
}

5、Delete

func deleteStudent(context *gin.Context) {
	id := context.Param("id")
	var k int = 0
	for _, student := range classInfo {
		if student.ID != id {
			classInfo[k] = student
			k++
		}
	}
	classInfo = classInfo[:k]
	context.IndentedJSON(http.StatusOK, "delete success")
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值