首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置go-swagger从注释生成等级库

如何设置go-swagger从注释生成等级库
EN

Stack Overflow用户
提问于 2016-10-17 13:10:20
回答 1查看 3.9K关注 0票数 4

我正在遵循在https://goswagger.io/generate/spec.html中生成swagger spec的说明。

我有一个现有的项目,需要一个API的UI。我想使用go swagger,但我完全搞不懂,我想要设置它,所以我在代码中添加了注释,然后运行swagger https://github.com/go-swagger/go-swagger/tree/master/examples/todo-list spec命令,它将生成规范,但是每当我运行它时,它都会打印{"swagger":"2.0","paths":{},"definitions":{}}

这是我运行它的命令

代码语言:javascript
复制
...com/projectFolder]$ swagger generate spec                                                
{"swagger":"2.0","paths":{},"definitions":{}}

我的项目结构如下

代码语言:javascript
复制
project/ 
  main.go
  api/
    router.go

在main.go中,我有这样的注释

代码语言:javascript
复制
//go:generate swagger generate spec
package main

在我的一个处理程序上面的路由器中,我有这样的注释

代码语言:javascript
复制
// swagger:route GET /profile
//
// Gets profile of user
//
//     Produces:
//     - application/json
//     - application/x-protobuf
//
//     Schemes: http, https, ws, wss
//
//     Security:
//       api_key:
//       oauth: read, write
//
//     Responses:
//       default: genericError
//       200: someResponse
//       422: validationError
r.GET("/profile", profileHandler

我尝试设置api生成器已经有一段时间了。任何帮助都是非常感谢的。如果你有设置它的经验,请让我知道你是如何做到的

EN

回答 1

Stack Overflow用户

发布于 2017-07-21 15:17:10

这可能是一个迟来的答案,但不管怎样。我面临着同样的问题,也在为go-swagger文档而苦苦挣扎;这就是我最终想到的:

swagger generate可以接受输入文件参数(-b main.go,应用程序的入口点,它会自动从中找到所有其他批注)和输出文件(-o swagger.json)

因此,总的来说,你的命令应该是这样的:

swagger generate spec -b ./main.go -o swagger.json

在我的主go文件中,在它的顶部,我的注释与您的略有不同。它定义了基本的项目属性,如title:

代码语言:javascript
复制
// Project title (the dot in the end matters).
//
// Project description.
//
//     Schemes: http
//     Version: 0.1
//
//     Consumes:
//     - application/json
//
//     Produces:
//     - application/json
//
//
// swagger:meta
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40078868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档