需求
在Go语言的swaggar中,我们需要配置securityDefinitions
以实现在接口文档中指定token,在大多项目中我们使用的是Bearer的认证方式,如下
// 若token的值为xxx
"header": {
"Authentication": "Bearer xxx"
}
在go语言的swaggar注解中,我们应该如何设置,达成这个目的呢
方法
- 在
main.go
中设置:
// @securityDefinitions.apikey Bearer
// @in header
// @name Authorization
// @description 在header中设置token,格式为Authorization: Bearer + tokenValue。
- 在需要token验证的
handler
中设置
// @Summary Profile user
// @Description get user info
// @Tags users
// @Accept json
// @Produce json
// @Success 200 {object} dtos.User
// @Failure 400 {object} httputil.ResponseError
// ...
// @Router /profile [get]
// 带上以下注解代表使用Bearer验证
// @Security Bearer
func (auth *AuthController) Profile(c *gin.Context) {...}
效果
在swaggar网页中,点击右侧的Authentication,在窗口中输入token的值,即可在需要token验证的接口测试中带上所需的token
参考Github Issue:https://github.com/swaggo/gin-swagger/issues/90