跳到主要内容
版本:2.9.x(Latest)

HTTP服务器Swagger认证

Github Source: https://github.com/gogf/examples/tree/main/httpserver/swagger-auth

描述

本示例演示了如何使用GoFrame框架为Swagger API文档实现基础认证(Basic Authentication)。示例包含以下功能:

  1. 设置带有OpenAPI/Swagger文档的基础HTTP服务器
  2. 使用基础认证保护Swagger文档
  3. 定义并实现一个简单的REST API端点

依赖要求

目录结构

.
├── README.MD # 英文文档
├── README.ZH.MD # 中文文档
├── go.mod # Go模块文件
└── main.go # 主程序入口

特性

  • OpenAPI/Swagger文档集成
  • API文档的基础认证保护
  • RESTful API端点实现
  • 请求/响应验证
  • API文档注释

安装设置

  1. 克隆仓库:

    git clone https://github.com/gogf/examples.git
    cd examples/httpserver/swagger-auth
  2. 安装依赖:

    go mod tidy
  3. 运行应用:

    go run main.go

使用方法

  1. 启动服务器:

    go run main.go
  2. 访问受保护的Swagger文档:

  3. 测试API端点:

实现细节

本示例展示了几个关键特性:

  1. Swagger集成:

    • OpenAPI JSON地址:/api.json
    • Swagger UI地址:/swagger
    • 两者都受基础认证保护
  2. 基础认证:

    • 用户名:admin
    • 密码:123456
    • 认证域:"Restricted"
  3. API端点:

    • 路径:/hello
    • 方法:GET
    • 必需参数:name
    • 响应:带有问候消息的JSON

注意事项

  • 基础认证使用GoFrame内置的BasicAuth方法实现
  • API文档根据代码注释和结构体标签自动生成
  • 服务器默认运行在8000端口
  • 所有API响应都通过中间件自动包装成标准格式