HTTP服务器Swagger认证
Github Source: https://github.com/gogf/examples/tree/main/httpserver/swagger-auth
描述
本示例演示了如何使用GoFrame
框架为Swagger API
文档实现基础认证(Basic Authentication
)。示例包含以下功能:
- 设置带有
OpenAPI/Swagger
文档的基础HTTP服务器 - 使用基础认证保护
Swagger
文档 - 定义并实现一个简单的
REST API
端点
依赖要求
目录结构
.
├── README.MD # 英文文档
├── README.ZH.MD # 中文文档
├── go.mod # Go模块文件
└── main.go # 主程序入口
特性
OpenAPI/Swagger
文档集成- API文档的基础认证保护
RESTful API
端点实现- 请求/响应验证
API
文档注释
安装设置
-
克隆仓库:
git clone https://github.com/gogf/examples.git
cd examples/httpserver/swagger-auth -
安装依赖:
go mod tidy
-
运行应用:
go run main.go
使用方法
-
启动服务器:
go run main.go
-
访问受保护的
Swagger
文档:- 地址:http://localhost:8000/swagger
- 基础认证凭据:
- 用户:
admin
- 密码:
123456
- 用户:
-
测试API端点:
- 访问地址:http://localhost:8000/hello?name=GoFrame
- 请求方法:
GET
- 响应:包含问候消息的
JSON
实现细节
本示例展示了几个关键特性:
-
Swagger
集成:OpenAPI JSON
地址:/api.json
Swagger UI
地址:/swagger
- 两者都受基础认证保护
-
基础认证:
- 用户:
admin
- 密码:
123456
- 认证域:
Restricted
- 用户:
-
API端点:
- 路径:
/hello
- 方法:
GET
- 必需参数:
name
- 响应:带有问候消息的
JSON
- 路径:
注意事项
- 基础认证使用
GoFrame
内置的BasicAuth
方法实现 API
文档根据代码注释和结构体标签自动生成- 服务器默认运行在
8000
端口 - 所有
API
响应都通过中间件自动包装成标准格式