swagger

Swagger client generator

  • 所有者: yvasiyarov/swagger
  • 平台:
  • 許可證: BSD 3-Clause "New" or "Revised" License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

alt text

Swagger UI Generator for Go

About

This is a utility for automatically generating API documentation from annotations in Go code. It generates the documentation as JSON, according to the Swagger Spec, and then displays it using Swagger UI.

This tool was inspired by Beego, and follows the same annotation standards set by Beego.
The main difference between this tool and Beego is that this generator doesn't depend on the Beego framework. You can use any framework to implement your API (or don't use a framework at all). You just add declarative comments to your API controllers, then run this generator and your documentation is ready! For an example of what such documentation looks like when presented via Swagger UI, see the Swagger pet store example.

This tool focuses on documentation generation as opposed to client generation. If that is all you need, it will be significantly easier to integrate this tool into your existing codebase/workflow as opposed to goswagger. One significant advantage of this tool is that it allows you to easily reference objects that are outside of your package.

This tool currently generates Swagger 1.x spec files -- there are plans to update the tool to support Swagger 2.x at some point.

Quick Start Guide

  1. Add comments to your API source code, see Declarative Comments Format

  2. Download Swagger for Go by using go get github.com/yvasiyarov/swagger

  3. Or, compile the Swagger generator from sources.
    go install

    This will create a binary in your $GOPATH/bin folder called swagger (Mac/Unix) or swagger.exe (Windows).

  4. Run the Swagger generator.
    Make sure to specify the full package name and an optional entry point (if the entry point isn't $pkg/main.go).

    Example:

    $ pwd
    /Users/dselans/Code/go/src/github.com/yvasiyarov/swagger
    $ ./$GOPATH/bin/swagger -apiPackage="github.com/yvasiyarov/swagger/example" -mainApiFile=example/web/main.go -output=./API.md -format=markdown
    

Command Line Flags, Switch, Description, ------------------, ---------------------------, -apiPackage, Package with API controllers implementation, -mainApiFile, Main API file. This file is used for generating the "General API Info" bits. If -mainApiFile is not specified, then $apiPackage/main.go is assumed., -format, One of: go\, swagger\, asciidoc\, markdown\, confluence. Default is -format="go". See See docs., -output, Output specification. Default varies according to -format. See docs., controllerClass, Speed up parsing by specifying which receiver objects have the controller methods. The default is to search all methods. The argument can be a regular expression. For example, -controllerClass="(Context\, Controller)$" means the receiver name must end in Context or Controller., contentsTable, Whether to generate Table of Contents; default: true., models, Generate 'Models' section; default true., vendoringPath, Override default vendor directory (eg. $CWD/vendor and $GOPATH/src/$apiPackage/vendor), disableVendoring, Disable vendor usage altogether, enableDebug, Enable debug log output, ### Note on Swagger-UI

To run the generated swagger UI (assuming you used -format="go"), copy/move the generated docs.go file to a new folder under GOPATH/src. Also bring in the web.go-example file, renaming it to web.go. Then: go run web.go docs.go

Additional Documentation

Project Status : Alpha

Declarative Comments Format : Read more

Technical Notes : Read More

Known Limitations : Read More

Generating Different Format Docs: Read More

主要指標

概覽
名稱與所有者yvasiyarov/swagger
主編程語言JavaScript
編程語言Go (語言數: 5)
平台
許可證BSD 3-Clause "New" or "Revised" License
所有者活动
創建於2014-07-09 07:22:17
推送於2018-08-17 22:22:20
最后一次提交2018-08-17 15:22:19
發布數0
用户参与
星數794
關注者數33
派生數128
提交數211
已啟用問題?
問題數72
打開的問題數36
拉請求數66
打開的拉請求數1
關閉的拉請求數9
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?