干货 | Beego + Swagger 快速上手

本文介绍了如何结合Go语言的Beego框架和Swagger工具进行API开发,包括使用Swagger插件提升配置文件编写体验,利用Beego的MVC模式简化业务逻辑,以及详细步骤和示例代码展示如何创建和管理API。
摘要由CSDN通过智能技术生成

点击上方“中兴开发者社区”,关注我们

每天读一篇一线开发者原创好文

大纲

  • Beego 是什么

  • 为什么写这个

  • 如何指导

前几天我写了一个《Swagger 上手指南》,觉得还是让使用者难以上手。尽管它是一款优秀的API 工具。


但我在编写API 的过程中发现几个问题:

  • 编写繁琐:尽管会提示出关键字,但是不支持 yaml 自动换行,自动对齐等功能

  • 保存不方便: 尽管可以到处yaml 或者json 格式的配置文件,但要是API 发生变更,又需要重新打开下载的包,或者在线版的Editor

  • 不极客:Swagger 是给程序员使用的,但是单纯的配置文件,程序员不太喜欢,而是喜欢那种编程实现的API,比如在本地可以及时访问,即使是变更也能立马看到效果


好,基于上面三点。我进行了探索:

  • 第一:使用Swagger 插件

我一直很喜欢JetBrains 旗下的开发工具,样样皆上精品。各种主流的编程语言都有对应的集成开发环境,即使是只使用其中的一款,插件丰富,也能实现其他编程语言的编程。

Settings —> Plugins —> Swagger Plugins || Swagger Codegen

下载上述两个插件,即可在本地编写yaml 格式的Swagger配置文件,左边配置,右边可视化。

这样可以本地实现配置文件的编写,实现API 的编写。

  • 第二:使用Beego 框架

beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API、Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado、sinatra 和 flask 这三个框架,但是结合了 Go 本身的一些特性(interface、struct 嵌入等)而设计的一个框架。

其中一个功能是自动化文档,让用户快速的编写API。

即:可以编程实现API。

下面的文章即是:如何实现使用Beego + Swagger 快速开发API.

接着上回的文章Swagger 上手指南 , 我在文章多次提出Http 请求包含哪些知识?

  • Http 动作

  • URL 路径

  • Body 体

  • Response 响应

即:根据不同的 Http 动作,访问URL 路径,定位资源,服务端根据请求,将资源进行返回给用户的这么一个过程。

  • 前提:理解 Beego 框架

Beego 采用典型的MVC框架:即M(models)、V(views)和C(controllers)

  • M 层定义数据,表及结构体等

  • V 层定义可视化层,即前端展现出现的页面,这里我们只需下载Swagger即可使用前端文件

  • C 层处理业务逻辑,比如API 中的POST,PUT,GET, DELETE 等

一个典型的Beego 框架的目录大概是这样的:

  
  
  
  1. ├── conf

  2.   └── app.conf

  3. ├── controllers

  4.   ├── admin

  5.   └── default.go

  6. ├── main.go

  7. ├── models

  8.   └── models.go

  9. ├── static

  10.   ├── css

  11.   ├── ico

  12.   ├── img

  13.   └── js

  14. └── views

  15.    ├── admin

  16.    └── index.tpl

使用Beego + Swagger 编写API 的过程中,我们只需关注这些文件:

  • routers 定义Http URL 路径

  • models 定义请求体Body 和响应 Response

  • controllers 处理Http 请求动作:POST、PUT、DELETE、GET等

  • 使用的到的工具:

go get github.com/astaxie/beego

go get github.com/beego/bee

beego 即:beego 库文件,不懂环境配置搜索: Go 环境搭建

bee 即: 命令行工具,这个很好理解,go 也有命令行工具,这些都是方便创建和管理相关项目的命令行(最近也在工作中开发一个命令行工具,有时间聊聊)


开始

  • 创建API 项目

bee api apiTest

在 src (go项目环境变量下) 新建了一个apiTest 文件夹,里面默认存在一些默认的API 文件

  • 自动下载Swagger文件,自动化文档,即可在本地浏览默认API: http://8080/swagger

bee run -gendoc=true -downdoc=true

生成的 API 文件目录大概这样:

  
  
  
  1. ├── conf

  2.   └── app.conf

  3. ├── controllers

  4.   └── object.go

  5.   └── user.go

  6. ├── docs

  7.   └── doc.go

  8. ├── main.go

  9. ├── models

  10.   └── object.go

  11.   └── user.go

  12. ├── routers

  13.   └──

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值