使用Beego创建API项目并自动化文档

最近需要使用Go写一个Web API项目,可以使用Beego与Gin来写此类项目,还是非常方便的,这里就介绍一下使用Beego来创建的Web API项目并自动化文档的方法。

使用Gin创建API项目并自动化文档参见:使用Gin编写Web API项目并自动化文档

一、准备环境

bash 复制代码
go install github.com/beego/bee/v2@latest

二、创建API项目

bash 复制代码
bee api api

1. 下载项目依赖

bash 复制代码
$ cd api
$ go mod tidy

此时项目目录结构如下:

bash 复制代码
$ tree
.
├── conf
│   └── app.conf
├── controllers
│   ├── object.go
│   └── user.go
├── go.mod
├── go.sum
├── main.go
├── models
│   ├── object.go
│   └── user.go
├── routers
│   └── router.go
└── tests
    └── default_test.go

6 directories, 10 files

2. 生成路由

bash 复制代码
bee generate routers

该命令会生成routers/commentsRouter.go文件。

bash 复制代码
$ tree
.
├── conf
│   └── app.conf
├── controllers
│   ├── object.go
│   └── user.go
├── go.mod
├── go.sum
├── main.go
├── models
│   ├── object.go
│   └── user.go
├── routers
│   ├── commentsRouter.go
│   └── router.go
└── tests
    └── default_test.go

6 directories, 11 files

此时可以在浏览器中浏览:http://127.0.0.1:8080/v1/user/

注意,这里不能使用https

三、自动化文档与测试

每次手动测试API还是比较繁琐的,为了方便测试,可以使用swagger来进行API辅助测试。

bash 复制代码
bee run -gendoc=true -downdoc=true

此时默认使用的是https://petstore.swagger.io/v2/swagger.json配置文件

可以手动将前面的路径去掉,只保留swagger.json,然后测试,会发现有问题:

bash 复制代码
	
Failed to fetch.
Possible Reasons:

CORS
Network Failure
URL scheme must be "http" or "https" for CORS request.

需要修改swagger/index.html

url: "https://petstore.swagger.io/v2/swagger.json"替换成url: "/swagger/swagger.json"。再测试就正常了:

如何写注释,让swagger自动生成接口文档,可以参考:https://beego.wiki/zh-cn/docs/advantage/docs/

相关推荐
夸克App10 小时前
实现营销投放全流程自动化 超级汇川推出信息流智能投放产品“AI智投“
运维·人工智能·自动化
Rainbond云原生10 小时前
83k Star!n8n 让 AI 驱动的工作流自动化触手可及
运维·人工智能·自动化
YONG823_API10 小时前
深度探究获取淘宝商品数据的途径|API接口|批量自动化采集商品数据
java·前端·自动化
木觞清10 小时前
深度对比评测:n8n vs Coze(扣子) vs Dify - 自动化工作流工具全解析
运维·自动化
电商数据girl10 小时前
产品经理对于电商接口的梳理||电商接口文档梳理与接入
大数据·数据库·python·自动化·产品经理
老狼孩1112215 小时前
2025新版懒人精灵零基础及各板块核心系统视频教程-全分辨率免ROOT自动化开发
android·机器人·自动化·lua·脚本开发·懒人精灵·免root开发
Yang_yangyang15 小时前
mysql定时备份、打包、传输
数据库·mysql·自动化
哈哈幸运19 小时前
Linux Awk 深度解析:10个生产级自动化与云原生场景
linux·云原生·自动化·awk·三剑客
b***25111 天前
自动点焊机批发:工业制造的高效之选
物联网·自动化·制造
RestCloud1 天前
如何借助ETL数据集成工具实现数据一致性?
数据仓库·api·etl·数字化转型·数据转换·数据抽取·集成平台