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

建平台网站lamp网站架构

建平台网站,lamp网站架构,织梦贷款网站源码,沈阳市城市建设网站文档一直是一项乏味的工作#xff08;以我个人的拙见#xff09;#xff0c;但也是编码过程中最重要的任务之一。在本文中#xff0c;我们将学习如何将Swagger规范与Gin框架集成。我们将实现JWT认证#xff0c;请求体作为表单数据和JSON。这里唯一的先决条件是Gin服务器。…文档一直是一项乏味的工作以我个人的拙见但也是编码过程中最重要的任务之一。在本文中我们将学习如何将Swagger规范与Gin框架集成。我们将实现JWT认证请求体作为表单数据和JSON。这里唯一的先决条件是Gin服务器。您可以在这里参考github上现有的api。 环境准备 下面是已存在项目的文件结构 后面我们在此基础上增加swagger生成API文档功能。 安装依赖 swag命令把Go 源码中的注释转换为Swagger文档。 go get -u github.com/swaggo/swag/cmd/swag另外还需要安装两个依赖 go get -u github.com/swaggo/gin-swagger go get -u github.com/swaggo/filesgin-swagger使用gin中间件在Swagger 2.0中自动生成RESTful API文档文件生成swagger UI嵌入文件。 生成文档 在项目的根文件夹中运行swag init 命令根目录包含main.go文件。这将解析你的注释并生成所需的文件docs文件夹和docs/docs.go。 下面构建项目并启动web服务使用下面命令 $ go build 它将构建并创建可执行文件。然后运行可执行文件。现在导航到http://localhost:8081/swagger/index.html看看它是否正常工作。 好像有点不对劲。让我们一起努力吧。 导入生成的docs/docs在main.go的导入部门初始化特定配置。此外我们将在main.go中添加通用API注释。 package mainimport (_ go-api/docsgo-api/handlergithub.com/gin-gonic/ginswaggerFiles github.com/swaggo/filesginSwagger github.com/swaggo/gin-swagger )// title Demo APIs // version 1.0 // description Testing Swagger APIs. // termsOfService http://swagger.io/terms/ // contact.name API Support // contact.url http://www.swagger.io/support // contact.email supportswagger.io // securityDefinitions.apiKey JWT // in header // name token // license.name Apache 2.0 // license.url http://www.apache.org/licenses/LICENSE-2.0.html // host localhost:8081 // BasePath /api/v1 // schemes http func main() {r : gin.Default()// url : ginSwagger.URL(http://localhost:8080/swagger/doc.json)r.GET(/swagger/*any, ginSwagger.WrapHandler(swaggerFiles.Handler))r.Run(:8080) }请注意注释之间的间距因为这是swagger规范。此外每当我们添加或更新update注释时需要再次运行“swag init”命令来更新文档。好了现在让我们构建并运行它并检查我们是否取得了进展。 它起作用了。 另外请注意我们已经为UI中的JWT身份验证实现添加了下面的代码。 // securityDefinitions.apiKey JWT // in header // name tokenAPI文档注释 现在让我们将文档注释添加到API端点。 package handlerimport (github.com/gin-gonic/gin )// Summary 获取item // Description 根据ID查询item信息 // Accept json // Produce json // Param id path int true ID // Success 200 {object} map[string]interface{} // Router /items/{id} [get] func GetItem(c *gin.Context) {// Implement the logic to get an item }// Summary 示例 API // Description 这是一个示例 API 的描述 // Accept mpfd // Produce json // Param item formData model.Item true item data // Success 200 {object} map[string]interface{} // Router /items/create [post] func CreateItem(c *gin.Context) {// Implement the logic to create a new item }我们使用Accept作为mpfd (multipart/form-data)它生成JSON并使用Item 模型作为DTO。Tags有助于将api组织到一个组中。你也可以使用swag fmt来格式化注释。 Item模型代码 package modeltype Item struct {ID int json:idName string json:name binding:requiredPrice float64 json:price binding:required } 再次运行 swag init 命令 ,然后构建项目并运行 我们看到Item数据的必填属性与model定义一致。 最后一步给Post请求增加JWT 认证。我们在请求端点文档中增加下面代码 // securityDefinitions.apiKey token // in header // name Authorization // Security JWT再次 运行可以看到右侧锁标志。 总结 本文介绍了Gin如何集成Swagger包括安装依赖增加API接口注释文档以及如何配置表单数据参数和JWT认证等。Gin愈学习愈快乐 Go!
http://www.hkea.cn/news/14284086/

相关文章:

  • 网站建设都需要哪些书wordpress对比
  • 阿里巴巴国际站入口wordpress注册充值
  • 市建设与管理局网站中国互联网电视app下载安装
  • 商城网站开发技术可行性分析网站备案 改名
  • 广州市住房和建设局网站文章标签wordpress
  • 手机wordpress清除缓存越秀seo搜索引擎优化
  • 哈尔滨网站建设 seo珠海市网站开发公司电话
  • 上海做网站 公司 哪家好济南网站开发公司
  • dw网站建设框架大小设定wordpress模板有哪些
  • 做棋牌网站合法吗wordpress返回404
  • 90做网站网站上传文件存储方式
  • cc域名做门户网站临沂免费自助建站模板
  • 网站特效 素材咸宁有做网站的吗
  • 中山最好的网站建设公司哪家好网站建设与管理 第2版
  • 附近网站建设公司外贸网站dns
  • 泉州快速优化排名网站做优化有用吗
  • 玩具 网站模板开发公司生产管理部运营模式
  • 郑州建设网站清河做网站哪儿好
  • 网站营销推广如何做网页游戏开服表是什么
  • 聊城建网站哪家好如何用wordpress上传根目录
  • 如何查看网站是哪家公司做的创意设计与制作
  • 门户网站建设工作管理办法天津网站建设首选津坤科技
  • ftp网站怎么建立无法使用wordpress
  • 云南建设工程质量监督网站网站视频提取
  • 网站建设银行转账数据显示网站模板
  • 长沙网站制作品牌做网站拉广告
  • 如何将wordpress上传到站点凡科互动下载
  • 搜狗站长工具综合查询咸阳学校网站建设公司
  • 来个网站2021能用的上海襄阳网站建设
  • p2p网站建设多少钱东莞推广号