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

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




相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
API
用 Koa 框架实现一个简单的 RESTful API
用 Koa 框架实现一个简单的 RESTful API
|
1月前
|
JSON 缓存 JavaScript
深入浅出:使用Node.js构建RESTful API
在这个数字时代,API已成为软件开发的基石之一。本文旨在引导初学者通过Node.js和Express框架快速搭建一个功能完备的RESTful API。我们将从零开始,逐步深入,不仅涉及代码编写,还包括设计原则、最佳实践及调试技巧。无论你是初探后端开发,还是希望扩展你的技术栈,这篇文章都将是你的理想指南。
|
24天前
|
JSON JavaScript 前端开发
深入浅出Node.js:从零开始构建RESTful API
在数字化时代的浪潮中,后端开发作为连接用户与数据的桥梁,扮演着至关重要的角色。本文将引导您步入Node.js的奇妙世界,通过实践操作,掌握如何使用这一强大的JavaScript运行时环境构建高效、可扩展的RESTful API。我们将一同探索Express框架的使用,学习如何设计API端点,处理数据请求,并实现身份验证机制,最终部署我们的成果到云服务器上。无论您是初学者还是有一定基础的开发者,这篇文章都将为您打开一扇通往后端开发深层知识的大门。
40 12
|
27天前
|
XML JSON 缓存
深入理解RESTful API设计原则与实践
在现代软件开发中,构建高效、可扩展的应用程序接口(API)是至关重要的。本文旨在探讨RESTful API的核心设计理念,包括其基于HTTP协议的特性,以及如何在实际应用中遵循这些原则来优化API设计。我们将通过具体示例和最佳实践,展示如何创建易于理解、维护且性能优良的RESTful服务,从而提升前后端分离架构下的开发效率和用户体验。
|
1月前
|
监控 安全 API
深入浅出:构建高效RESTful API的最佳实践
在数字化时代,API已成为连接不同软件和服务的桥梁。本文将带你深入了解如何设计和维护一个高效、可扩展且安全的RESTful API。我们将从基础概念出发,逐步深入到高级技巧,让你能够掌握创建优质API的关键要素。无论你是初学者还是有经验的开发者,这篇文章都将为你提供实用的指导和启示。让我们一起探索API设计的奥秘,打造出色的后端服务吧!
|
28天前
|
JSON 缓存 测试技术
构建高效RESTful API的后端实践指南####
本文将深入探讨如何设计并实现一个高效、可扩展且易于维护的RESTful API。不同于传统的摘要概述,本节将直接以行动指南的形式,列出构建RESTful API时必须遵循的核心原则与最佳实践,旨在为开发者提供一套直接可行的实施框架,快速提升API设计与开发能力。 ####
|
1月前
|
JavaScript NoSQL API
深入浅出Node.js:从零开始构建RESTful API
在数字化时代的浪潮中,后端开发如同一座灯塔,指引着数据的海洋。本文将带你航行在Node.js的海域,探索如何从一张白纸到完成一个功能完备的RESTful API。我们将一起学习如何搭建开发环境、设计API结构、处理数据请求与响应,以及实现数据库交互。准备好了吗?启航吧!
|
1月前
|
JSON API 数据格式
探索后端开发:从零构建简易RESTful API
在数字时代的浪潮中,后端开发如同搭建一座桥梁,连接着用户界面与数据世界。本文将引导读者步入后端开发的殿堂,通过构建一个简易的RESTful API,揭示其背后的逻辑与魅力。我们将从基础概念出发,逐步深入到实际操作,不仅分享代码示例,更探讨如何思考和解决问题,让每一位读者都能在后端开发的道路上迈出坚实的一步。
|
1月前
|
Go API 数据库
Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
本文介绍了 Go 语言中常用的 ORM 框架,如 GORM、XORM 和 BeeORM,分析了它们的特点、优势及不足,并从功能特性、性能表现、易用性和社区活跃度等方面进行了比较,旨在帮助开发者根据项目需求选择合适的 ORM 框架。
106 4
|
1月前
|
缓存 前端开发 API
深入浅出:后端开发中的RESTful API设计原则
【10月更文挑战第43天】在数字化浪潮中,后端开发如同搭建梦想的脚手架,而RESTful API则是连接梦想与现实的桥梁。本文将带你领略API设计的哲学之美,探索如何通过简洁明了的设计,提升开发效率与用户体验。从资源定位到接口约束,从状态转换到性能优化,我们将一步步构建高效、易用、可维护的后端服务。无论你是初涉后端的新手,还是寻求进阶的开发者,这篇文章都将为你的开发之路提供指引。让我们一起走进RESTful API的世界,解锁后端开发的新篇章。