美文网首页
GO语言gin框架实战-03-swagger和接口文档

GO语言gin框架实战-03-swagger和接口文档

作者: 玄德公笔记 | 来源:发表于2022-11-07 09:22 被阅读0次

1. GET

1.1 query模式

  • 代码
// SelectPrjs 获取项目信息
// @Summary 获取项目信息
// @Description 获取项目信息
// @Tags 项目管理
// @Param prj_id query string false "项目Id"
// @Param prj_nbr query string false "项目编号"
// @Param prj_nm query string false "项目名称"
// @Param page_num query string false "页数"
// @Param page_size query string false "每页行数"
// @Success 200 {object} response.Response{data=apimodels.ProjectListResponse} "{"code": 200, "data": [...]}"
// @Router /api/v1/projects [get]
// @Security Bearer

说明:
// @Param prj_id query string false "项目Id"

  • prj_id: 要传入的变量名
  • query :传入变量的模式(本例是query模式)
  • string:传入变量值的类型(本例是字串)
  • false:是否必填(本例非必须)
  • 项目Id:变量说明
  • swagger显示
image.png
  • 附:postman调用
image.png

1.2 path 模式

  • 代码
// SelectPrj 获取指定项目信息
// @Summary 获取指定项目信息
// @Description 获取指定项目信息
// @Tags 项目管理
// @Param uuid path string true "项目id"
// @Success 200 {object} response.Response{data=models.PjmProject} "{"code": 200, "data": [...]}"
// @Router /api/v1/projects/{uuid} [get]
// @Security Bearer

说明:
@Param uuid path string true "项目id"

  • uuid: 要传入的变量名
  • path :传入变量的模式(本例是path模式)
  • string:传入变量值的类型(本例是字串)
  • true:是否必填(本例非必须)
  • 项目Id:变量说明
  • swagger显示
image.png
  • 附:postman调用
image.png

2 POST

2.1 body模式

  • 代码
// AddProject 创建项目
// @Summary 创建项目
// @Description 创建项目
// @Tags 项目管理
// @Accept  application/json
// @Product application/json
// @Param data body ProjectInput true "项目编号,项目缩写"
// @Success 200 {object} response.Response{data=string} "{"code": 200, "data": [...]}"
// @Router /api/v1/projects [post]
// @Security Bearer

说明:
// @Param data body ProjectInput true "项目编号,项目缩写""

  • data: 用body模式传入,变量名是data
  • body :传入变量的模式(本例是body模式)
  • ProjectInput:传入变量值的类型(本例是自定义的一个结构体)
  • true:是否必填(本例必须)
  • 项目编号,项目缩写:传入json的说明
  • swagger显示
image.png
  • 附:postman调用


    image.png

2.2 formData模式

同PUT,见下文 PUT 的 formData 模式

3. PUT

3.1 body模式

  • 代码
// UpdateProject 从数据中台更新项目信息
// @Summary 从数据中台更新项目信息
// @Description 从数据中台更新项目信息
// @Tags 项目管理
// @Accept  application/json
// @Product application/json
// @Param data body models.PjmProject true "prj_nbr必填"
// @Success 200 {object} response.Response{data=string} "{"code": 200, "data": [...]}"
// @Router /api/v1/projects [put]
// @Security Bearer

说明:
和POST相同,参加上文

  • swagger显示
image.png
  • 附:postman调用
image.png

3.2 formData模式

  • 代码
// AutoModifyIp 自动修改smartX服务器IP
// @Summary 自动修改smartX服务器IP
// @Description 自动修改smartX服务器IP
// @Tags 服务器管理
// @Accept  application/x-www-form-urlencoded
// @Product application/json
// @Param uuid formData string true "服务器UUID"
// @Success 200 {object} response.Response{data=string} "{"code": 200, "data": [...]}"
// @Router /api/v1/my_server/smart_x_ip [put]
// @Security Bearer
  • swagger 显示


    image.png
  • 附:postman调用


    image.png

4. DELETE

4.1 query

  • 代码
// DeleteProject 删除项目
// @Summary 删除项目
// @Description 删除项目
// @Tags 项目管理
// @Param prj_id query string true "项目Id"
// @Success 200 {object} response.Response{data=string} "{"code": 200, "data": [...]}"
// @Router /api/v1/projects [delete]
// @Security Bearer

说明:
说明参考上文 GET

  • swagger 显示
image.png
  • 附: postman调用


    image.png

4.2 Path

  • 代码
// DeleteServer 删除指定服务器
// @Summary 删除指定服务器
// @Description 删除指定服务器
// @Tags 服务器管理
// @Param uuid path string true "服务器uuid"
// @Param project_num formData string true "项目编号"
// @Success 200 {object} response.Response{data=string} "{"code": 200, "data": [...]}"
// @Router /api/v1/my_server/{uuid} [delete]
// @Security Bearer

说明:
参照GET的path,本例除了path还包含了一个formData

  • swagger显示


    image.png
  • 附:postman调用
image.png

相关文章

网友评论

      本文标题:GO语言gin框架实战-03-swagger和接口文档

      本文链接:https://www.haomeiwen.com/subject/iukwtdtx.html