Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。其将维护接口文档的工作,与维护代码相结合,使得二者可以齐头并进,随着代码文件的更新,文档也得到了更新。
gem 'grape', '0.10.0'
gem 'grape-swagger', '0.9.0'
gem 'grape-swagger-rails'
app
├── api
│ ├── dispatch.rb
│ └── v1
│ └── test_api.rb
config/initializers/grape_swagger_rails.rb
,添加如下内容GrapeSwaggerRails.options.url = "api/swagger_doc"
GrapeSwaggerRails.options.app_name = 'appname'
GrapeSwaggerRails.options.app_url = '/'
mount Dispatch, at: 'api'
mount GrapeSwaggerRails::Engine => '/docs'
add_swagger_documentation
方法add_swagger_documentation(
base_path: "/api",
hide_documentation_path: true,
hide_format: true,
)
上面的步骤做好以后,就可以通过http://locahost/docs
访问文档了。这里需要注意的是有的较早一点的文章中将GrapeSwaggerRails.options.url
会设置为api/swagger_doc.json
,这样的会导致js解析接口的时候出现404错误,去掉后缀即可,另外如果还有其它奇奇怪怪的错误,可以通过devtools来排错。
-完-