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

时光慢网站建设方案论文手机怎样建个人网站

时光慢网站建设方案论文,手机怎样建个人网站,灰色行业seo,wordpress自适应插件想要使用gin-swagger为你的代码自动生成接口文档,一般需要下面三个步骤: 按照swagger要求给接口代码添加声明式注释,具体参照声明式注释格式。使用swag工具扫描代码自动生成API接口文档数据使用gin-swagger渲染在线接口文档页面 第一步&…

想要使用gin-swagger为你的代码自动生成接口文档,一般需要下面三个步骤:

  1. 按照swagger要求给接口代码添加声明式注释,具体参照声明式注释格式。
  2. 使用swag工具扫描代码自动生成API接口文档数据
  3. 使用gin-swagger渲染在线接口文档页面

第一步:添加注释

在程序入口main函数上以注释的方式写下项目相关介绍信息。

package main// @title 这里写标题
// @version 1.0
// @description 这里写描述信息
// @termsOfService http://swagger.io/terms/// @contact.name 这里写联系人信息
// @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// @host 这里写接口服务的host
// @BasePath 这里写base path
func main() {r := gin.New()// liwenzhou.com ...r.Run()
}

在你代码中处理请求的接口函数(通常位于controller层)按如下方式写上注释:

// GetPostListHandler2 升级版帖子列表接口
// @Summary 升级版帖子列表接口
// @Description 可按社区按时间或分数排序查询帖子列表接口
// @Tags 帖子相关接口
// @Accept application/json
// @Produce application/json
// @Param Authorization header string false "Bearer 用户令牌"
// @Param object query models.ParamPostList false "查询参数"
// @Security ApiKeyAuth
// @Success 200 {object} _ResponsePostList
// @Router /posts2 [get]
func GetPostListHandler2(c *gin.Context) {// GET请求参数(query string):/api/v1/posts2?page=1&size=10&order=time// 初始化结构体时指定初始参数p := &models.ParamPostList{Page:  1,Size:  10,Order: models.OrderTime,}if err := c.ShouldBindQuery(p); err != nil {zap.L().Error("GetPostListHandler2 with invalid params", zap.Error(err))ResponseError(c, CodeInvalidParam)return}data, err := logic.GetPostListNew(p)// 获取数据if err != nil {zap.L().Error("logic.GetPostList() failed", zap.Error(err))ResponseError(c, CodeServerBusy)return}ResponseSuccess(c, data)// 返回响应
}

上面注释中参数类型使用了objectmodels.ParamPostList具体定义如下:

// bluebell/models/params.go// ParamPostList 获取帖子列表query string参数
type ParamPostList struct {CommunityID int64  `json:"community_id" form:"community_id"`   // 可以为空Page        int64  `json:"page" form:"page" example:"1"`       // 页码Size        int64  `json:"size" form:"size" example:"10"`      // 每页数据量Order       string `json:"order" form:"order" example:"score"` // 排序依据
}

响应数据类型也使用的object,我个人习惯在controller层专门定义一个docs_models.go文件来存储文档中使用的响应数据model。

// bluebell/controller/docs_models.go// _ResponsePostList 帖子列表接口响应数据
type _ResponsePostList struct {Code    ResCode                 `json:"code"`    // 业务响应状态码Message string                  `json:"message"` // 提示信息Data    []*models.ApiPostDetail `json:"data"`    // 数据
}

第二步:生成接口文档数据

编写完注释后,使用以下命令安装swag工具:

go get -u github.com/swaggo/swag/cmd/swag

在项目根目录执行以下命令,使用swag工具生成接口文档数据。

swag init

执行完上述命令后,如果你写的注释格式没问题,此时你的项目根目录下会多出一个docs文件夹。

./docs
├── docs.go
├── swagger.json
└── swagger.yaml

第三步:引入gin-swagger渲染文档数据

然后在项目代码中注册路由的地方按如下方式引入gin-swagger相关内容:


import (// liwenzhou.com ..._ "bluebell/docs"  // 千万不要忘了导入把你上一步生成的docsgs "github.com/swaggo/gin-swagger""github.com/swaggo/gin-swagger/swaggerFiles""github.com/gin-gonic/gin"
)

注册swagger api相关路由

r.GET("/swagger/*any", gs.WrapHandler(swaggerFiles.Handler))

把你的项目程序运行起来,打开浏览器访问http://localhost:8080/swagger/index.html就能看到Swagger 2.0 Api文档了。

gin-swagger同时还提供了DisablingWrapHandler函数,方便我们通过设置某些环境变量来禁用Swagger。例如:

r.GET("/swagger/*any", gs.DisablingWrapHandler(swaggerFiles.Handler, "NAME_OF_ENV_VARIABLE"))

此时如果将环境变量NAME_OF_ENV_VARIABLE设置为任意值,则/swagger/*any将返回404响应,就像未指定路由时一样。

参考文章:

https://www.fansimao.com/937539.html

http://www.yayakq.cn/news/101433/

相关文章:

  • 免费企业cms建站系统全国中小企业信息网
  • dede古风类网站源码网上有免费的网站吗
  • 如何制作一个注册网站如何在网站做旅游产品
  • 网站搭建者东莞微网站
  • 专业网站设计公司有哪些wordpress后台默认密码
  • 互联网做网站的话术网网站制作开发
  • 河源市住房和城乡规划建设局网站现在1做啥网站流量大
  • 专业微网站电话号码宿州企业官方网站建设
  • 南昌p2p网站建设计算机前端开发要学哪些软件
  • 学院网站板块本地wordpress 手机浏览器
  • 十堰城市建设网站班服定制的网站
  • 网站建设哪公司网站定制开发流程
  • 旅游 便宜 网站建设做拍卖网站有哪些
  • 网站建设 招聘计算机网站建设方向
  • 网站设计就业压力大型公司网站建设
  • 网站建设收费标准服务北京网站建设公司哪家实惠
  • asp网站开发 基础一个网站 两个域名
  • 成都网站只wordpress翻译了 mo无效
  • 网站开发人才广东建设职业技术学院网站
  • wordpress网站怎么设置关键词尚海整装公司电话
  • 网站到期了广州网站开发多少钱
  • 网站建设公司优势建设网站几钱
  • 做网站鼠标移动 链接变颜色wordpress内置分页方法
  • 房屋中介网站模板wordpress++xml
  • 网站备案 域名过期网站建设需要的技术设备
  • 个人网站开发教程网站哪些功能是PHP做的
  • 个人网站首页布局图安徽做网站公司
  • 手把手教你做网站 3云主机和云服务器的区别
  • 建设校园网站国外研究现状品牌查询网站
  • 国内知名网站建设排名wordpress 底部版权