编程初学者的Go语言学习之旅 | 青训营笔记

75 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第7天。

前言

今天来说说大项目作业的开发:对接好抖音demo的前端接口。
由于自己是第一次接触后端,在最开始的时候对如何去对接接口完全没有思路,只有一个朦胧的印象:对接接口是需要用在青训营项目学习过的三个框架。 于是我决定先搞定三个框架,GORM和Hertz框架都还算简单,但是对于kitex我卡了很长的时间。 后来在我朋友的指点下,我才算堪堪掌握了这三个框架。后来一想,kitex框架的困难,很大程度上来自于我以前从来没有接触过linux(Kitex框架不甚支持Windows),从linux子系统的安装、linux上Go环境的安装、环境变量的设置、vim的使用、kitex框架的安装、Thriftgo版本的切换,以及中途各种数不清的莫名其妙的bug、报错,对我来说真的很困难。

对接思路

虽然折腾kitex了好几天,但是我自己写这个项目其实并不需要RPC服务。

首先是由前端发起的HTTP请求,例如用户注册接口:

image.png 我们能得到的信息是:

  1. 路由
  2. 请求方法

其次,下面也有我们的信息:

type ApifoxModel struct {
	StatusCode int64  `json:"status_code"`// 状态码,0-成功,其他值-失败
	StatusMsg  string `json:"status_msg"` // 返回状态描述
	Token      string `json:"token"`      // 用户鉴权token
	UserID     int64  `json:"user_id"`    // 用户id
}

这是我们需要返回给客户端的结构体。
综上,我们需要用Hertz框架注册好路由,值得注意的是,由于有其他的接口,所以我们实际上需要的是一个路由组:

douyin := h.Group("/douyin")
userGroup := douyin.Group("/user")
userGroup.POST("/register/")

然后,根据Hertz的官方文档,POST方法还需要其他的参数

h.POST("/post", func(ctx context.Context, c *app.RequestContext) {
		c.String(consts.StatusOK, "post")

这也是我们需要具体实现的方法,明天再讲。

引用

路由 | CloudWeGo