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

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




相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3天前
|
JSON 前端开发 API
打造高效后端:RESTful API 设计的最佳实践
【9月更文挑战第14天】在数字化时代,后端开发是构建强大、灵活和可维护应用程序的基石。本文将深入探讨如何设计高效的RESTful API,包括清晰的资源定义、合理的HTTP方法使用、URL结构规划、状态码的准确返回以及数据格式的设计。通过这些实践,开发者能够创建出既符合行业标准又易于维护和扩展的API,为前端提供强大的数据支持,确保整个应用的稳定性和性能。
137 74
|
6天前
|
Go API 开发者
深入探讨:使用Go语言构建高性能RESTful API服务
在本文中,我们将探索Go语言在构建高效、可靠的RESTful API服务中的独特优势。通过实际案例分析,我们将展示Go如何通过其并发模型、简洁的语法和内置的http包,成为现代后端服务开发的有力工具。
|
5天前
|
JSON API 数据库
使用Python和Flask构建简单的RESTful API
使用Python和Flask构建简单的RESTful API
13 6
|
11天前
|
安全 Java API
【性能与安全的双重飞跃】JDK 22外部函数与内存API:JNI的继任者,引领Java新潮流!
【9月更文挑战第7天】JDK 22外部函数与内存API的发布,标志着Java在性能与安全性方面实现了双重飞跃。作为JNI的继任者,这一新特性不仅简化了Java与本地代码的交互过程,还提升了程序的性能和安全性。我们有理由相信,在外部函数与内存API的引领下,Java将开启一个全新的编程时代,为开发者们带来更加高效、更加安全的编程体验。让我们共同期待Java在未来的辉煌成就!
37 11
|
12天前
|
安全 Java API
【本地与Java无缝对接】JDK 22外部函数和内存API:JNI终结者,性能与安全双提升!
【9月更文挑战第6天】JDK 22的外部函数和内存API无疑是Java编程语言发展史上的一个重要里程碑。它不仅解决了JNI的诸多局限和挑战,还为Java与本地代码的互操作提供了更加高效、安全和简洁的解决方案。随着FFM API的逐渐成熟和完善,我们有理由相信,Java将在更多领域展现出其强大的生命力和竞争力。让我们共同期待Java编程新纪元的到来!
35 11
|
8天前
|
设计模式 测试技术 API
Micronaut魔法书:揭秘构建超光速RESTful API的绝密技术!
【9月更文挑战第10天】在现代Web开发中,构建RESTful API至关重要。Micronaut作为一款轻量级框架,能够快速创建高效API。本文探讨使用Micronaut构建RESTful API的最佳设计模式与实践,涵盖注解(如`@Controller`、`@Get`)、代码组织、REST原则、数据验证及测试等方面,帮助开发者构建结构清晰、可维护性强的API服务。示例代码展示了如何使用Micronaut实现用户管理API,强调了良好设计模式的重要性。
22 3
|
12天前
|
XML JSON 缓存
探索后端开发中的RESTful API设计原则
【9月更文挑战第5天】在数字化时代的浪潮中,后端开发扮演着支撑整个互联网世界运行的基石角色。而作为连接前端与后端桥梁的RESTful API,其设计质量直接影响到应用的性能和用户体验。本文将深入探讨RESTful API的设计原则,通过浅显易懂的语言和实际代码示例,引导读者理解如何构建高效、易于维护的API。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和思考。
|
14天前
|
JSON 算法 安全
探索RESTful API设计的最佳实践
【9月更文挑战第2天】在数字化时代的浪潮中,后端开发如同搭建一座桥梁,连接着用户与数据的无限可能。本文将深入探讨如何打造高效、可维护的RESTful API,从资源命名到状态码的巧妙运用,每一个细节都隐藏着提升用户体验的智慧。你将学会如何在浩瀚的代码海洋中,用简洁明了的设计原则,引领用户安全抵达数据的彼岸。让我们一起启航,探索API设计的奥秘,让后端开发成为艺术与科学的完美结合。
|
2月前
|
机器学习/深度学习 API iOS开发
探索iOS开发中的SwiftUI框架深入理解RESTful API设计原则与最佳实践
【7月更文挑战第30天】本文深入探讨了SwiftUI框架在iOS开发中的应用,分析了其对用户界面构建的简化方法及性能优化。通过比较传统UI构建方式与SwiftUI的差异,揭示了SwiftUI如何提高开发效率和用户体验。文章还讨论了SwiftUI在实际项目中的集成策略,并展望了其未来的发展方向。 【7月更文挑战第30天】在数字时代的浪潮中,RESTful API如同一座桥梁,连接着不同的软件系统。本文将探讨RESTful API的核心设计原则,揭示其背后的哲学思想,并通过实例分析展示如何将这些原则应用于实际开发中。我们将从资源定位、接口一致性到HTTP方法的恰当使用,逐一剖析,旨在为开发者提供
48 1
|
21天前
|
SQL 安全 API
数字堡垒之下:网络安全漏洞、加密技术与安全意识的博弈探索RESTful API设计的最佳实践
【8月更文挑战第27天】在数字化浪潮中,网络安全成为守护个人隐私与企业资产的关键防线。本文深入探讨了网络漏洞的成因与影响,分析了加密技术如何为数据保驾护航,并强调了提升公众的安全意识对于构建坚固的信息防御系统的重要性。文章旨在为读者提供一场思维的盛宴,启发更多关于如何在日益复杂的网络世界中保护自己的思考。