【大安全开发部-数字规划团队】使用Beego搭建Go语言的Restful API项目

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 此文章是Go语言开发项目的入门篇,hello word级别,主要讲解基于框架开发go项目的搭建过程

使用Beego搭建Go语言的Restful API项目


概述


此文章是Go语言开发项目的入门篇,hello word级别,主要讲解基于框架开发go项目的搭建过程。


搭建如下:


1.需要安装go语言,并配置环境变量。


2.需要安装git版本控制工具。


3.需要安装beego,beego是目前比较流程的go语言开发框架。


4.需要安装bee工具,这个工具是beego配套的,可以快速生成beego框架。


5.安装MySQL,bee工具可以根据MySQL中的表自动生成beego框架中的增删改查代码,特别方便。


1.Go环境配置


go语言官方下载地址:https://golang.org/dl/


windows版本就下载 .msi 后缀的安装包,然后傻瓜式安装。


安装完成后需要配置环境变量。


1.1、GOROOT


GOROOT的值对应你安装Go的路径,默认安装路径是:c:\Go,具体配置你的安装路径。

1.2、PATH


在PATH变量中配置追加:%GOROOT%\bin



保存配置,这是打开命令行输入 go version



这时就配置成功了。


1.3、GOPATH


GOPATH:beego开发目录


GOPATH/bin:bee可执行文件会存放在里面


创建一个文件夹当作Go的开发目录,然后配置这个目录到GOPATH环境变量



配置GOPATH的bin目录到Path下



到此配置完毕


2. 安装Git


官网下载地址:https://git-scm.com/downloads


具体安装自己摸索


3.安装bee、beego


3.1 beego


beego 的安装是典型的 Go 安装包的形式:


go get github.com/astaxie/beego


3.2 bee工具


您可以通过如下的方式安装 bee 工具:


go get github.com/beego/bee


安装完之后,bee 可执行文件默认存放在 $GOPATH/bin 里面(如下图),所以您需要先把 $GOPATH/bin 添加到您的环境变量中,才可以进行下一步。



运行bee命令,如下图所示则表示安装成功

4.安装MySQL


1.下载MySQL 我用的是5.7.24
打开下载链接:https://dev.mysql.com/downloads/windows/installer/5.7.html


傻瓜式安装。


5.使用bee工具生成beego工程


5.1 生成api项目主体架构


在GOPATH目录下创建src文件夹

在src目录下打开cmd命令行工具


-- 此命令生成api项目,在命令行运行

bee api 项目名称


此时,beego的api项目就初始化生成了。


运行一下命令,运行项目,默认地址是:localhost:8080/swagger/


bee run -gendoc=true -downdoc=true


  • -gendoc=true 表示每次自动化的 build 文档
  • -downdoc=true 就会自动的下载 swagger 文档查看器


如下图启动成功

访问swagger

5.2 根据数据库表生成crud代码


数据库驱动器手动获取,命令如下:


go get github.com/go-sql-driver/mysql


生成代码命令


bee generate scaffold TABLENAME -fields="id:int64,name:string,gender:int,age:int" -driver=mysql -conn="root:123456@tcp(127.0.0.1:3306)/beego01"


  • TABLENAME:需要自动生成代码的表
  • -fields:需要生成代码的表字段
  • -driver:数据库类型
  • -conn:数据库连接


注意:此命令要在项目目录下运行


  1. 在MySQL中创建 beego01数据库
  2. 在beego01数据库中创建表
  3. 修改生成代码命令,并运行生成代码。

  1. 配置route路径
    在routers目录下router.go文件中配置路径

func init() {

ns := beego.NewNamespace("/v1",

beego.NSNamespace("/object",

  beego.NSInclude(

  &controllers.ObjectController{},

  ),

),

// 新增的路径

beego.NSNamespace("/user",

  beego.NSInclude(

  &controllers.UserController{},

  ),

),

)

beego.AddNamespace(ns)

}

  1. 再次运行生成文档命令,重新生成swagger文档
    如下所示,配置的路径生成了文档

bee run -gendoc=true -downdoc=true

6.开发Go语言工具


我使用的是GoLand,官方下载安装即可。

6.1 配置


直接新增配置即可,然后运行,这样就可以开发go项目了。




相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
16天前
|
Go
go语言中的数据类型
go语言中的数据类型
13 0
|
22天前
|
Go 开发者
掌握Go语言:Go语言结构体,精准封装数据,高效管理实体对象(22)
掌握Go语言:Go语言结构体,精准封装数据,高效管理实体对象(22)
|
22天前
|
安全 Go
掌握Go语言:Go语言通道,并发编程的利器与应用实例(20)
掌握Go语言:Go语言通道,并发编程的利器与应用实例(20)
|
22天前
|
存储 缓存 安全
掌握Go语言:Go语言中的字典魔法,高效数据检索与应用实例解析(18)
掌握Go语言:Go语言中的字典魔法,高效数据检索与应用实例解析(18)
|
3天前
|
数据采集 存储 Go
使用Go语言和chromedp库下载Instagram图片:简易指南
Go语言爬虫示例使用chromedp库下载Instagram图片,关键步骤包括设置代理IP、创建带代理的浏览器上下文及执行任务,如导航至用户页面、截图并存储图片。代码中新增`analyzeAndStoreImage`函数对图片进行分析和分类后存储。注意Instagram的反爬策略可能需要代码适时调整。
使用Go语言和chromedp库下载Instagram图片:简易指南
|
22天前
|
存储 安全 Go
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
掌握Go语言:Go语言类型转换,无缝处理数据类型、接口和自定义类型的转换细节解析(29)
|
1天前
|
Go
Golang深入浅出之-Go语言函数基础:定义、调用与多返回值
【4月更文挑战第21天】Go语言函数是代码组织的基本单元,用于封装可重用逻辑。本文介绍了函数定义(包括基本形式、命名、参数列表和多返回值)、调用以及匿名函数与闭包。在函数定义时,注意参数命名和注释,避免参数顺序混淆。在调用时,要检查并处理多返回值中的错误。理解闭包原理,小心处理外部变量引用,以提升代码质量和可维护性。通过实践和示例,能更好地掌握Go语言函数。
9 1
Golang深入浅出之-Go语言函数基础:定义、调用与多返回值
|
2天前
|
程序员 Go API
【Go语言快速上手(二)】 分支与循环&函数讲解
【Go语言快速上手(二)】 分支与循环&函数讲解
|
2天前
|
Go
Golang深入浅出之-Go语言基础语法:变量声明与赋值
【4月更文挑战第20天】本文介绍了Go语言中变量声明与赋值的基础知识,包括使用`var`关键字和简短声明`:=`的方式,以及多变量声明与赋值。强调了变量作用域、遮蔽、初始化与零值的重要性,并提醒读者注意类型推断时的一致性。了解这些概念有助于避免常见错误,提高编程技能和面试表现。
16 0
|
2天前
|
编译器 Go 开发者
Go语言入门|包、关键字和标识符
Go语言入门|包、关键字和标识符
20 0