当前位置: 首页 > news >正文

go-swagger标准接口暴露

添加依赖

	github.com/gin-gonic/gin v1.11.0github.com/swaggo/files v1.0.1github.com/swaggo/gin-swagger v1.6.1github.com/swaggo/swag v1.16.6

定义返回值

package responsetype ResultVO struct {Code    int         `json:"code"`              //错误码Message string      `json:"message,omitempty"` //错误信息Data    interface{} `json:"data,omitempty"`    //返回的数据
}type UserVO struct {ID    int    `json:"id"`    // IDName  string `json:"name"`  // 用户姓名Email string `json:"email"` // 邮箱
}

定义参数

package paramtype UserParam struct {ID    int    `json:"id"`    // IDName  string `json:"name"`  // 用户姓名Email string `json:"email"` // 邮箱
}

创建controller

package controllerimport ("github.com/gin-gonic/gin"
)type UserController struct {
}func NewUserController() *UserController {return &UserController{}
}// @Summary 获取用户信息
// @Description 获取用户详细信息
// @Accept json
// @Produce json
// @Param id query int64 true "用户id"
// @Success 200 {object} response.ResultVO{data=response.UserVO}
// @Router /user/get [get]
func (u *UserController) GetUser(c *gin.Context) {}// @Summary 添加用户信息
// @Description 添加用户信息
// @Accept json
// @Produce json
// @Param user body param.UserParam true "用户信息"
// @Success 200 {object} response.ResultVO{data=response.UserVO}
// @Router /user/add [post]
func (u *UserController) AddUser(c *gin.Context) {}// @Summary 分页获取用户信息
// @Description 分页获取用户信息
// @Accept json
// @Produce json
// @Param pageSize query int64 true "一页几条"
// @Param current query int64 true "当前页"
// @Success 200 {object} response.ResultVO{data=[]response.UserVO}
// @Router /user/list [get]
func (u *UserController) ListUser(c *gin.Context) {}

初始化swagger文件

swag init

启动服务

package mainimport ("swagger_test/controller"_ "swagger_test/docs" //之前使用swag init 生成的swagger文档的路径"github.com/gin-gonic/gin"swaggerFiles "github.com/swaggo/files"ginSwagger "github.com/swaggo/gin-swagger"
)func main() {r := gin.Default()r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))userController := controller.NewUserController()r.GET("/user/get", userController.GetUser)r.POST("/user/add", userController.AddUser)r.GET("/user/list", userController.ListUser)r.Run(":8080")
}

访问接口

http://127.0.0.1:8080/swagger/index.html#/default
http://www.dtcms.com/a/492731.html

相关文章:

  • 我是在百度上搜广东网站建设网站开发主要语言
  • 网站卡密怎么做园区网络建设方案
  • 西安哪有做网站的建设网站找哪个公司
  • 网站建设实训报告总结wordpress搬家 图片不显示
  • 网站域名查询网学编程要什么学历
  • 业网站制作做网站的网站违不违法
  • 百度上网站怎么做ppt精美模板
  • 网站排名需要多长时间免费咨询图片带字
  • 做照片的网站查做外贸客户的网站
  • 枣庄学习建设网站培训网页制作与设计教材
  • 三目云台摄像头识别输电线路
  • 个人网站免费域名注册建设网站等于网络营销吗
  • HTB Driver wp
  • 网站优化需要什么软件公司网站怎么管理
  • 可以做网站的语言平面设计做网站的步骤
  • 网站建设分为什么建设网站最重要的是什么
  • 电商网站新闻怎么做的宿迁网站搭建
  • 红帽RH134知识复习(3)
  • 成都电子网站建设多少钱投资集团网站建设方案
  • 制作网站的网页做网站的背景图片格式大小
  • QT6中QPrintPreviewWidget控件功能与应用
  • 代理分佣后台网站开发有机蔬菜哪个网站做的更好
  • 【算法】day6 双指针补充
  • 手机网站设计理念建筑工程公司有哪些
  • 网站建设中轩网怎么样怎么制作网站?
  • TSMaster软件的使用
  • 如何做网站源码备份上海网站建设选缘魁
  • 可以做夫妻的游戏视频网站php 多语言网站建设源码
  • Java---包装类
  • 深圳企业网站建设公司义乌做网站公司