广告位联系
返回顶部
分享到

Go集成swagger实现在线接口文档的教程

Golang 来源:互联网 作者:佚名 发布时间:2024-11-18 08:29:28 人浏览
摘要

安装swaggo 1 go install github.com/swaggo/swag/cmd/swag@latest 编写swag 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 import

安装swaggo

1

go install github.com/swaggo/swag/cmd/swag@latest

编写swag

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

import (

    "github.com/gin-gonic/gin"

    "goWeb/internal/service"

    "goWeb/model/response"

)

  

// UserRouter 路由

func UserRouter(ctx *gin.RouterGroup) {

    ctx.GET("/login", login)

    ctx.POST("/addUser", addUser)

    ctx.GET("/delUser/:id", delUser)

    ctx.GET("/getUser", getUser)

    ctx.GET("/pageUser", pageUser)

}

  

// Login

//

//  @Description    Java学习Golang开发

//  @Tags           user接口

//  @Router         /user/login [get]

func login(ctx *gin.Context) {

    response.Success(ctx, service.Login())

}

  

// @Description 添加用户信息

// @Tags        user接口

// @Param       user    body        model.User  true    "用户实体"

// @Success     200     {string}    string          "success"

// @Failure     500     {string}    string          "fail"

// @Router          /user/addUser [post]

func addUser(ctx *gin.Context) {

    response.Success(ctx, service.AddUser(ctx))

}

  

// @Description 删除用户

// @Tags        user接口

// @Param       id  path        int true    "用户id"

// @Router          /user/delUser/{id} [get]

func delUser(ctx *gin.Context) {

    service.DelUser(ctx)

    response.Ok(ctx)

}

  

// @Description 删除用户

// @Tags        user接口

// @Param       id  query       int true    "用户id"

// @Router          /user/getUser [get]

func getUser(ctx *gin.Context) {

    response.Success(ctx, service.GetUser(ctx))

}

  

// @Description 分页查询用户数据

// @Tags        user接口

// @Param page query int false "当前页码"

// @Param pageSize query int false "每页数量"

// @Router          /user/pageUser [get]

func pageUser(ctx *gin.Context) {

    response.Success(ctx, service.PageUser(ctx))

}

启动类

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

import (

    swaggerFiles "github.com/swaggo/files"     // swagger embed files

    ginSwagger "github.com/swaggo/gin-swagger" // gin-swagger middleware

    _ "goWeb/docs"

)

  

//  @title          Swagger Example API

//  @version        1.0

//  @description    go web 框架gin集成swagger.

//  @termsOfService http://swagger.io/terms/

  

//  @contact.name   API Support

//  @contact.url    http://www.swagger.io/support

//  @contact.email  support@swagger.io

  

//  @license.name   Apache 2.0

//  @license.url    http://www.apache.org/licenses/LICENSE-2.0.html

  

// @externalDocs.description    OpenAPI

// @externalDocs.url            https://swagger.io/resources/open-api/

func main() {}

初始化doc

1

swag init

访问

http://127.0.0.1:8081/swagger/index.html#/

更多

请探索官网

swag package - github.com/swaggo/swag/v2 - Go Packages


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • Go语言中的Defer机制的介绍
    在Go语言中,defer是一个关键字,用于确保资源的清理和释放,特别是在函数中创建的资源。defer语句会将其后的函数调用推迟到包含它的函
  • Go集成swagger实现在线接口文档的教程

    Go集成swagger实现在线接口文档的教程
    安装swaggo 1 go install github.com/swaggo/swag/cmd/swag@latest 编写swag 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
  • 基于Golang+Vue编写一个手机远程控制电脑的懒人工

    基于Golang+Vue编写一个手机远程控制电脑的懒人工
    思路 Go语言负责后端,负责模拟键盘输入和鼠标移动 Vue负责页面编写,调用后端接口,使用petite-vue单个页面开发, 够轻量 go直接调用user32
  • Go语言怎么使用Viper来管理配置
    在现代软件开发中,良好的配置管理可以极大地提升应用的灵活性和可维护性。 在 Go 语言中,Viper 是一个功能强大且广泛使用的配置管理库
  • Golang的GC垃圾回收机制的介绍
    在现代编程语言中,垃圾回收(Garbage Collection, GC)机制是一个至关重要的特性。它帮助开发者自动管理内存,避免内存泄漏和悬挂指针等问
  • Golang中类型转换利器cast库的用法
    在Golang开发中,类型转换是一个常见且不可避免的过程。无论是将字符串转换为整数,还是将接口转换为布尔值,类型转换都贯穿在代码的
  • Python框架FastAPI详解介绍

    Python框架FastAPI详解介绍
    FastAPI是一种现代、快速(高性能)的Web框架,用于Python 3.6+,使用Python类型提示构建API。它的设计初衷是帮助开发者在短时间内开发出高性
  • 使用go实现创建WebSocket服务器
    使用Go语言创建WebSocket服务器可以利用现有的库来简化开发过程。gorilla/websocket是一个非常流行且功能强大的库,适用于Go语言的WebSocket应用
  • golang日志库ZAP[uber-go zap]示例介绍
    golang 日志库ZAP[uber-go zap] 1. 简要说明 zap 是 uber 开源的 Go 高性能日志库,支持不同的日志级别, 能够打印基本信息等,但不支持日志的分割
  • golang并发编程使用Select语句的实现介绍
    在 Go 语言中,select语句是一种控制结构,允许一个 Goroutine 同时等待多个通道操作。select语句会阻塞,直到其中的一个case可以继续执行,然
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计