安装go-swagger
下载源代码
git clone https://github.com/go-swagger/go-swagger.git
安装
cd go-swagger
go install ./cmd/swagger
基础命令
用法:
swagger [选项] <命令>
应用选项:
-q, --quiet 不显示log
--log-output=LOG-FILE 输出Log到文件
帮助选项:
-h, --help 显示帮助信息
可用命令:
diff 显示swagger文件差异
expand 在swagger文件中扩充 $ref 区域
flatten 扁平化化整理swagger文件
generate 生成代码
init 初始化描述文件
mixin 合并swagger文件
serve 启动服务
validate 校验swagger文件
version 输出版本号
生成描述文件命令
用法:
swagger [选项] generate spec [命令]
应用选项:
-q, --quiet 不显示log
--log-output=LOG-FILE 输出Log到文件
帮助选项:
-h, --help 显示帮助信息
[描述文件命令]
-w, --work-dir= 基本工作路径 (默认: .)
-t, --tags= 构建的标签
-m, --scan-models 引入模型 'swagger:model'
--compact 不格式化json
-o, --output= 输出文件路径
-i, --input= 添加需要合并的描述文件路径
-c, --include= 添加外部包路径
-x, --exclude= 不要引入的包路径
--include-tag= 引入带有特定tag的路径文件 (可声明多个)
--exclude-tag= 不要引入带有特定tag的路径文件 (可声明多个)
--exclude-deps 不引人项目所有依赖
生成swagger 文件
在项目根目录执行
swagger generate spec --output=./XXX.yml
XXX是文件名,即可生成
运行server
swagger serve --no-open -F=swagger --port 36666 XXX.yml
36666是端口号,xxx是文件名
其他命令
合并文件
swagger mixin {spec1} {spec2}
扩充$ref
swagger expand {spec}
扁平化: 所有外部 $ref 都被导入到主文档中,并且内联模式被重新组织为定义。
swagger flatten {spec}
生成markdown
swagger generate markdown -f {spec} --output swagger.mode
这篇文章写得深入浅出,让我这个小白也看懂了!