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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 此文章是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项目了。




相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
缓存 弹性计算 API
用 Go 快速开发一个 RESTful API 服务
用 Go 快速开发一个 RESTful API 服务
|
3月前
|
JSON 运维 Go
Go 项目配置文件的定义和读取
Go 项目配置文件的定义和读取
|
1月前
|
Go
使用go语言将A助手加入项目中
使用go语言将A助手加入项目中
22 2
|
1月前
|
SQL 关系型数据库 MySQL
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
54 11
|
1月前
|
中间件 Go API
使用Go语言构建高性能RESTful API
在现代软件开发中,RESTful API因其简洁和高效而成为构建网络服务的首选。Go语言以其并发处理能力和高性能著称,是开发RESTful API的理想选择。本文将介绍如何使用Go语言构建RESTful API,包括基础的路由设置、中间件的使用、数据验证、错误处理以及性能优化。通过实际代码示例,我们将展示Go语言在API开发中的强大功能和灵活性。
|
1月前
|
前端开发 JavaScript API
惊呆了!学会AJAX与Fetch API,你的Python Web项目瞬间高大上!
在Web开发领域,AJAX与Fetch API是提升交互体验的关键技术。AJAX(Asynchronous JavaScript and XML)作为异步通信的先驱,通过XMLHttpRequest对象实现了局部页面更新,提升了应用流畅度。Fetch API则以更现代、简洁的方式处理HTTP请求,基于Promises提供了丰富的功能。当与Python Web框架(如Django、Flask)结合时,这两者能显著增强应用的响应速度和用户体验,使项目更加高效、高大上。
50 2
|
2月前
|
JSON Go API
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
使用Go语言和Gin框架构建RESTful API:GET与POST请求示例
|
2月前
|
Go API 开发者
深入探讨:使用Go语言构建高性能RESTful API服务
在本文中,我们将探索Go语言在构建高效、可靠的RESTful API服务中的独特优势。通过实际案例分析,我们将展示Go如何通过其并发模型、简洁的语法和内置的http包,成为现代后端服务开发的有力工具。
|
1月前
|
存储 Kubernetes Go
Go语言项目组织架构
Go语言项目组织架构
|
1月前
|
前端开发 JavaScript API
告别繁琐!AJAX与Fetch API,让你的前后端沟通畅通无阻,项目效率飙升!
在Web开发中,前后端的顺畅沟通至关重要。传统方法常需频繁刷新页面,影响体验与效率。AJAX和Fetch API的出现简化了这一过程。AJAX利用XMLHttpRequest实现局部页面更新,提升用户体验;Fetch API则以更简洁的语法和强大的功能,进一步优化异步请求处理。两者均能显著提高开发效率,简化代码结构,让项目迭代更快速。拥抱这些技术,让Web开发之路更加顺畅。
26 0