使用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/

相关推荐
缺点内向19 小时前
C#: 告别繁琐!轻松移除Word文档中的文本与图片水印
c#·自动化·word·.net
机器视觉的发动机20 小时前
AI算力中心的能耗挑战与未来破局之路
开发语言·人工智能·自动化·视觉检测·机器视觉
0思必得020 小时前
[Web自动化] Selenium处理滚动条
前端·爬虫·python·selenium·自动化
芷栀夏21 小时前
CANN开源实战:基于DrissionPage构建企业级网页自动化与数据采集系统
运维·人工智能·开源·自动化·cann
鸽芷咕1 天前
DrissionPage 成 CANN 仓库爆款自动化工具:背后原因何在?
运维·python·自动化·cann
池央1 天前
CANN GE 深度解析:图编译器的核心优化策略、执行流调度与模型下沉技术原理
人工智能·ci/cd·自动化
深圳安锐科技有限公司1 天前
斜拉桥、铁塔 4G 一体化索力计 工地快速加装方案怎么实施?
自动化·实时监测·自动化监测·桥梁监测·结构健康监测·索力计·索力监测仪
北京耐用通信1 天前
破解AGV多协议互联难题:耐达讯自动化Profinet转Devicenet网关如何实现高效协同
人工智能·科技·物联网·网络协议·自动化·信息与通信
梦帮科技1 天前
OpenClaw 桥接调用 Windows MCP:打造你的 AI 桌面自动化助手
人工智能·windows·自动化
feasibility.1 天前
AI 编程助手进阶指南:从 Claude Code 到 OpenCode 的工程化经验总结
人工智能·经验分享·设计模式·自动化·agi·skills·opencode