1 软件环境及插件
1.1 软件环境
- Mac OS10.13.2
- ruby
- rails
1.2 插件
- grape
- swagger-docs
- grape-swagger
- grape-swagger-rails
2 API文件结构
2.1 结构树
API接口结构树如图2.1所示。
2.2 api.rb结构
- 代码结构
require ‘grape-swagger’
class Api < Grape::API
format :json
content_type :json, ‘application/json;charset=utf-8’
prefix :api
mount V1::Home
add_swagger_documentation
end
2.3 home.rb结构
- 代码结构:
module V1
class Home<Grape::API#继承
resources :articles do#1#
desc “API接口”
params do
optional :title, type: String, desc: ‘文章标题’
end
get “articles” do
end
end
3新建swagger.rb
swagger目录结构如图3.1所示。
- 代码结构
GrapeSwaggerRails.options.before_action do
GrapeSwaggerRails.options.app_url=request.protocol+request.host_with_port
end
GrapeSwaggerRails.options.url = ‘/api/swagger_doc.json’
GrapeSwaggerRails.options.app_name= ‘Docapi’
GrapeSwaggerRails.options.doc_expansion = ‘list’
4 配置路径
- 代码结构
config.paths.add “app/api”, glob: “**/*.rb”
config.autoload_paths +=Dir[“#{Rails.root}/app/api/*”]
5 配置路由
- 代码结构
mount GrapeSwaggerRails::Engine => '/RailsAPI'
6 接口验证
- 访问 http://localhost:3000/RailsAPI出现如下界面。
- 完成rails API接口自动化工具部署,开始开发接口。