新手使用gin 创建第一个接口

go 语言如果只是写接口的话,gin 应该就是最后的工具,可是现在的市场是很少人去学习go ,而且很多人感觉这们语言还不是很成熟,其他不然,只是很多人,都没有关注过这门还没有崛起的语言。

使用golang 将gin web框架下载

go get github.com/gin-gonic/gin 

(这个是要在vscode ,或者是goland 的终端运行,直接复制就可,注意要是你的项目目录,下图就是运行目录之后的结果,在外部库可以看到gin 这个文件,还要版本号)
在这里插入图片描述

第二部就是要创建这些文件。

这个目录文件,文件都是要自己创建的,不是像php 的TP框架一样,MVC的目录,连接数据库的文件,配置文件都有,这个下载命令行运行完之后创建这些文件。(go.mod,hell.exe 是命令行生成的,不需要创建)

在这里插入图片描述

main.go文件的代码

package main

import (
	"github.com/gin-gonic/gin"
	"hello/route"
)

func main() {
	// 1.创建路由
	r := gin.Default()
	// 2.绑定路由规则,执行的函数
	// gin.Context,封装了request和response
	route.Http(r)
	// 3.监听端口,默认在8080
	// Run("里面不指定端口号默认为8088")
	r.Run(":8089")
}

上图的8089 就是你请求的端口,如果go run main.go的时候说接口被占用报错,可以试着换一下那个8089。

package route

import (
	"github.com/gin-gonic/gin"
	"hello/api/v1"
)

func Http(router *gin.Engine) {

	apiRouter := router.Group("/api/v1/")
	{
		apiRouter.POST("/login", v1.Login)

	}
}

这个我设置是路由组,就是路由还有前缀,我习惯一般设置三个,一个是后台,一个是前端,一个是第三方的。这样看路由就知道是那个地方,好区分,当然你也可以不设置。


var form LoginForm

type LoginForm struct {
	User     string `form:"user" binding:"required"`
	Password string `form:"password" binding:"required"`
}

func Logins(c *gin.Context) {

	if c.ShouldBind(&form) == nil {
		if form.User == "user" && form.Password == "password" {
			c.JSON(200, gin.H{"status": "you are logged in"})
		} else {
			c.JSON(401, gin.H{"status": "unauthorized"})
		}
	}
}

struct 可以将user,password 这两个字段设置成了,formdata 值 ,如果是raw json 传递,这个就要更改了如下

	Number int    `json:"number" form:"number"`

好了,到这里就结束了,

go mod init
go mod tidy
go run main.go

在终端打印这些命令之后就可以看到终端编写的api接口了
在这里插入图片描述
这个就是我们刚才写的接口地址了。使用怕poatman进行接口测试吧。
在这里插入图片描述
这个就是测试结果了,到这里就是我们的接口实现简单的通讯了。注意测试要加上端口号。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值