组件分享之后端组件——一个Go 的 Swagger 2.0 实现组件go-swagger

组件分享之后端组件——一个Go 的 Swagger 2.0 实现组件go-swagger

背景

近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。

组件基本信息

  • 组件:go-swagger
  • 开源协议:Apache-2.0 License

内容

本节我们分享一个Go 的 Swagger 2.0 实现组件go-swagger

特征

go-swagger为 Go 社区带来了一整套功能齐全、高性能的 API 组件,可与 Swagger API 一起使用:服务器、客户端和数据模型。

  • 从 swagger 规范生成服务器
  • 从 swagger 规范生成客户端
  • 从 swagger 规范(alpha 阶段)生成 CLI(命令行工具)
  • 支持 jsonschema 和 swagger 提供的大部分功能,包括多态性
  • 从带注释的 go 代码生成一个 swagger 规范
  • 使用 swagger 规范的其他工具
  • 强大的自定义功能,带有供应商扩展和可自定义的模板
    我们的代码生成重点是生成惯用的、快速的代码,它与 golint、go vet 等配合得很好。

功能描述

  • 序列化兼容 swagger 的 yaml 或 json 的对象模型
  • 使用 swagger 的工具
    • 为任何 swagger 规范文件提供 swagger UI
    • 灵活的代码生成,带有可定制的模板
      • 基于 swagger 规范生成 go API server
      • 从 swagger 规范生成 go API 客户端
    • 验证一个招摇的规范文档,这里列出了额外的规则
    • 根据带注释的代码生成规范文档
  • 使用 Rest API 和中间件的运行时
    • 服务规格
    • 路由
    • 验证
    • 授权
    • Swagger 文档用户界面
    • 如果规范中的更改破坏了向后兼容性,则会导致构建失败的 Diff 工具

还有更多...

  • 一个类型化的 JSON Schema 实现,支持 Draft 4 的大部分特性
  • 扩展字符串和数字格式:strfmt
  • 使用 JSON、转换数据类型和指针的实用程序:swag
  • 一个 jsonschema (Draft 4) 验证器,具有完整的 $ref 支持:validate
  • 自定义验证界面
本文声明:

88x31.png

知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。

你可能感兴趣的:(组件分享之后端组件——一个Go 的 Swagger 2.0 实现组件go-swagger)