当前位置:   article > 正文

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

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

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

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

一、准备环境

go install github.com/beego/bee/v2@latest
  • 1

二、创建API项目

bee api api
  • 1

在这里插入图片描述

1. 下载项目依赖

$ cd api
$ go mod tidy
  • 1
  • 2

在这里插入图片描述

此时项目目录结构如下:

$ 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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

2. 生成路由

bee generate routers
  • 1

在这里插入图片描述

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

$ 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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

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

在这里插入图片描述
注意,这里不能使用https

三、自动化文档与测试

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

bee run -gendoc=true -downdoc=true
  • 1

在这里插入图片描述

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

在这里插入图片描述

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

	
Failed to fetch.
Possible Reasons:

CORS
Network Failure
URL scheme must be "http" or "https" for CORS request.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

需要修改swagger/index.html

在这里插入图片描述

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

在这里插入图片描述

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/550360
推荐阅读
相关标签
  

闽ICP备14008679号