change better method call

This commit is contained in:
Newell Zhu 2016-05-15 11:53:54 +08:00
parent 83b5c2eeec
commit 33a1d24e1e
2 changed files with 23 additions and 165 deletions

View File

@ -2,28 +2,14 @@ Rails.application.routes.draw do
def add_swagger_route http_method, path, opts = {}
full_path = path.gsub(/{(.*?)}/, ':\1')
action =
(opts[:isRestfulIndex] && :index) ||
(opts[:isRestfulShow] && :show) ||
(opts[:isRestfulCreate] && :create) ||
(opts[:isRestfulUpdate] && :update) ||
(opts[:isRestfulDestroy] && :destroy) ||
opts[:nickname]
match full_path, to: "#{opts.fetch(:classVarName)}##{action}", via: http_method
match full_path, to: "#{opts.fetch(:controller_name)}##{opts[:action_name]}", via: http_method
end
{{#apiInfo}}
{{#apis}}
{{#operations}}
{{#operation}}
add_swagger_route '{{httpMethod}}', '{{basePathWithoutHost}}{{path}}',
classVarName: '{{classVarName}}', nickname: '{{nickname}}',
isRestfulIndex: {{#isRestfulIndex}}true{{/isRestfulIndex}}{{^isRestfulIndex}}false{{/isRestfulIndex}},
isRestfulCreate: {{#isRestfulCreate}}true{{/isRestfulCreate}}{{^isRestfulCreate}}false{{/isRestfulCreate}},
isRestfulUpdate: {{#isRestfulUpdate}}true{{/isRestfulUpdate}}{{^isRestfulUpdate}}false{{/isRestfulUpdate}},
isRestfulShow: {{#isRestfulShow}}true{{/isRestfulShow}}{{^isRestfulShow}}false{{/isRestfulShow}},
isRestfulDestroy: {{#isRestfulDestroy}}true{{/isRestfulDestroy}}{{^isRestfulDestroy}}false{{/isRestfulDestroy}}
add_swagger_route '{{httpMethod}}', '{{basePathWithoutHost}}{{path}}', controller_name: '{{classVarName}}', action_name: {{#isRestfulIndex}}'index'{{/isRestfulIndex}}{{#isRestfulCreate}}'create'{{/isRestfulCreate}}{{#isRestfulUpdate}}'update'{{/isRestfulUpdate}}{{#isRestfulShow}}'show'{{/isRestfulShow}}{{#isRestfulDestroy}}'destroy'{{/isRestfulDestroy}}{{^isRestful}}'{{nickname}}'{{/isRestful}}
{{/operation}}
{{/operations}}
{{/apis}}

View File

@ -2,155 +2,27 @@ Rails.application.routes.draw do
def add_swagger_route http_method, path, opts = {}
full_path = path.gsub(/{(.*?)}/, ':\1')
action =
(opts[:isRestfulIndex] && :index) ||
(opts[:isRestfulShow] && :show) ||
(opts[:isRestfulCreate] && :create) ||
(opts[:isRestfulUpdate] && :update) ||
(opts[:isRestfulDestroy] && :destroy) ||
opts[:nickname]
match full_path, to: "#{opts.fetch(:classVarName)}##{action}", via: http_method
match full_path, to: "#{opts.fetch(:controller_name)}##{opts[:action_name]}", via: http_method
end
add_swagger_route 'POST', '/v2/pet',
classVarName: 'pet', nickname: 'add_pet',
isRestfulIndex: false,
isRestfulCreate: true,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'DELETE', '/v2/pet/{petId}',
classVarName: 'pet', nickname: 'delete_pet',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: true
add_swagger_route 'GET', '/v2/pet/findByStatus',
classVarName: 'pet', nickname: 'find_pets_by_status',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'GET', '/v2/pet/findByTags',
classVarName: 'pet', nickname: 'find_pets_by_tags',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'GET', '/v2/pet/{petId}',
classVarName: 'pet', nickname: 'get_pet_by_id',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: true,
isRestfulDestroy: false
add_swagger_route 'PUT', '/v2/pet',
classVarName: 'pet', nickname: 'update_pet',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'POST', '/v2/pet/{petId}',
classVarName: 'pet', nickname: 'update_pet_with_form',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'POST', '/v2/pet/{petId}/uploadImage',
classVarName: 'pet', nickname: 'upload_file',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'DELETE', '/v2/store/order/{orderId}',
classVarName: 'store', nickname: 'delete_order',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'GET', '/v2/store/inventory',
classVarName: 'store', nickname: 'get_inventory',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'GET', '/v2/store/order/{orderId}',
classVarName: 'store', nickname: 'get_order_by_id',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'POST', '/v2/store/order',
classVarName: 'store', nickname: 'place_order',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'POST', '/v2/user',
classVarName: 'user', nickname: 'create_user',
isRestfulIndex: false,
isRestfulCreate: true,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'POST', '/v2/user/createWithArray',
classVarName: 'user', nickname: 'create_users_with_array_input',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'POST', '/v2/user/createWithList',
classVarName: 'user', nickname: 'create_users_with_list_input',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'DELETE', '/v2/user/{username}',
classVarName: 'user', nickname: 'delete_user',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: true
add_swagger_route 'GET', '/v2/user/{username}',
classVarName: 'user', nickname: 'get_user_by_name',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: true,
isRestfulDestroy: false
add_swagger_route 'GET', '/v2/user/login',
classVarName: 'user', nickname: 'login_user',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'GET', '/v2/user/logout',
classVarName: 'user', nickname: 'logout_user',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: false,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'PUT', '/v2/user/{username}',
classVarName: 'user', nickname: 'update_user',
isRestfulIndex: false,
isRestfulCreate: false,
isRestfulUpdate: true,
isRestfulShow: false,
isRestfulDestroy: false
add_swagger_route 'POST', '/v2/pet', controller_name: 'pet', action_name: 'create'
add_swagger_route 'DELETE', '/v2/pet/{petId}', controller_name: 'pet', action_name: 'destroy'
add_swagger_route 'GET', '/v2/pet/findByStatus', controller_name: 'pet', action_name: 'find_pets_by_status'
add_swagger_route 'GET', '/v2/pet/findByTags', controller_name: 'pet', action_name: 'find_pets_by_tags'
add_swagger_route 'GET', '/v2/pet/{petId}', controller_name: 'pet', action_name: 'show'
add_swagger_route 'PUT', '/v2/pet', controller_name: 'pet', action_name: 'update_pet'
add_swagger_route 'POST', '/v2/pet/{petId}', controller_name: 'pet', action_name: 'update_pet_with_form'
add_swagger_route 'POST', '/v2/pet/{petId}/uploadImage', controller_name: 'pet', action_name: 'upload_file'
add_swagger_route 'DELETE', '/v2/store/order/{orderId}', controller_name: 'store', action_name: 'delete_order'
add_swagger_route 'GET', '/v2/store/inventory', controller_name: 'store', action_name: 'get_inventory'
add_swagger_route 'GET', '/v2/store/order/{orderId}', controller_name: 'store', action_name: 'get_order_by_id'
add_swagger_route 'POST', '/v2/store/order', controller_name: 'store', action_name: 'place_order'
add_swagger_route 'POST', '/v2/user', controller_name: 'user', action_name: 'create'
add_swagger_route 'POST', '/v2/user/createWithArray', controller_name: 'user', action_name: 'create_users_with_array_input'
add_swagger_route 'POST', '/v2/user/createWithList', controller_name: 'user', action_name: 'create_users_with_list_input'
add_swagger_route 'DELETE', '/v2/user/{username}', controller_name: 'user', action_name: 'destroy'
add_swagger_route 'GET', '/v2/user/{username}', controller_name: 'user', action_name: 'show'
add_swagger_route 'GET', '/v2/user/login', controller_name: 'user', action_name: 'login_user'
add_swagger_route 'GET', '/v2/user/logout', controller_name: 'user', action_name: 'logout_user'
add_swagger_route 'PUT', '/v2/user/{username}', controller_name: 'user', action_name: 'update'
end