Support optional parameters in Ruby client

* Pass optional parameters via the `opts` Hash
* Handle query parameters in a way similar to header/form parameters to
  support parameter name normalization, e.g. the "additional_metadata"
  key is passed for "additionalMetadata"
* Rename variables to be consistent: `query_params`, `header_params` and
  `form_params`
* Remove unnecessary blank lines
This commit is contained in:
xhh
2015-04-14 09:53:45 +08:00
parent 57ca71fcc9
commit a819e4d523
4 changed files with 473 additions and 784 deletions

View File

@@ -4,46 +4,37 @@ class UserApi
basePath = "http://petstore.swagger.io/v2"
# apiInvoker = APIInvoker
# Create user
# This can only be done by the logged in user.
# @param body Created user object
# @param [Hash] opts the optional parameters
# @option opts [User] :body Created user object
# @return void
def self.createUser (body, opts={})
query_param_keys = []
headerParams = {}
def self.createUser(opts = {})
# verify existence of params
# set default values and merge with input
options = {
:'body' => body
}.merge(opts)
#resource path
# resource path
path = "/user".sub('{format}','json')
# pull querystring keys from options
queryopts = options.select do |key,value|
query_param_keys.include? key
end
# query parameters
query_params = {}
# header parameters
headers = {}
header_params = {}
_header_accept = 'application/json, application/xml'
if _header_accept != ''
headerParams['Accept'] = _header_accept
end
_header_content_type = []
headerParams['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
header_params['Accept'] = _header_accept if _header_accept != ''
_header_content_type = []
header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
# form parameters
form_params = {}
# http body (model)
post_body = nil
if body != nil
if body.is_a?(Array)
array = Array.new
@@ -63,56 +54,41 @@ class UserApi
end
end
end
# form parameters
form_parameter_hash = {}
Swagger::Request.new(:POST, path, {:params=>queryopts,:headers=>headers, :body=>post_body, :form_params => form_parameter_hash }).make
Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
end
# Creates list of users with given input array
#
# @param body List of user object
# @param [Hash] opts the optional parameters
# @option opts [array[User]] :body List of user object
# @return void
def self.createUsersWithArrayInput (body, opts={})
query_param_keys = []
headerParams = {}
def self.createUsersWithArrayInput(opts = {})
# verify existence of params
# set default values and merge with input
options = {
:'body' => body
}.merge(opts)
#resource path
# resource path
path = "/user/createWithArray".sub('{format}','json')
# pull querystring keys from options
queryopts = options.select do |key,value|
query_param_keys.include? key
end
# query parameters
query_params = {}
# header parameters
headers = {}
header_params = {}
_header_accept = 'application/json, application/xml'
if _header_accept != ''
headerParams['Accept'] = _header_accept
end
_header_content_type = []
headerParams['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
header_params['Accept'] = _header_accept if _header_accept != ''
_header_content_type = []
header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
# form parameters
form_params = {}
# http body (model)
post_body = nil
if body != nil
if body.is_a?(Array)
array = Array.new
@@ -132,56 +108,41 @@ class UserApi
end
end
end
# form parameters
form_parameter_hash = {}
Swagger::Request.new(:POST, path, {:params=>queryopts,:headers=>headers, :body=>post_body, :form_params => form_parameter_hash }).make
Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
end
# Creates list of users with given input array
#
# @param body List of user object
# @param [Hash] opts the optional parameters
# @option opts [array[User]] :body List of user object
# @return void
def self.createUsersWithListInput (body, opts={})
query_param_keys = []
headerParams = {}
def self.createUsersWithListInput(opts = {})
# verify existence of params
# set default values and merge with input
options = {
:'body' => body
}.merge(opts)
#resource path
# resource path
path = "/user/createWithList".sub('{format}','json')
# pull querystring keys from options
queryopts = options.select do |key,value|
query_param_keys.include? key
end
# query parameters
query_params = {}
# header parameters
headers = {}
header_params = {}
_header_accept = 'application/json, application/xml'
if _header_accept != ''
headerParams['Accept'] = _header_accept
end
_header_content_type = []
headerParams['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
header_params['Accept'] = _header_accept if _header_accept != ''
_header_content_type = []
header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
# form parameters
form_params = {}
# http body (model)
post_body = nil
if body != nil
if body.is_a?(Array)
array = Array.new
@@ -201,209 +162,153 @@ class UserApi
end
end
end
# form parameters
form_parameter_hash = {}
Swagger::Request.new(:POST, path, {:params=>queryopts,:headers=>headers, :body=>post_body, :form_params => form_parameter_hash }).make
Swagger::Request.new(:POST, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
end
# Logs user into the system
#
# @param username The user name for login
# @param password The password for login in clear text
# @param [Hash] opts the optional parameters
# @option opts [string] :username The user name for login
# @option opts [string] :password The password for login in clear text
# @return string
def self.loginUser (username, password, opts={})
query_param_keys = [:username,:password]
headerParams = {}
def self.loginUser(opts = {})
# verify existence of params
# set default values and merge with input
options = {
:'username' => username,
:'password' => password
}.merge(opts)
#resource path
# resource path
path = "/user/login".sub('{format}','json')
# pull querystring keys from options
queryopts = options.select do |key,value|
query_param_keys.include? key
end
# query parameters
query_params = {}
query_params[:'username'] = opts[:'username'] if opts[:'username']
query_params[:'password'] = opts[:'password'] if opts[:'password']
# header parameters
headers = {}
header_params = {}
_header_accept = 'application/json, application/xml'
if _header_accept != ''
headerParams['Accept'] = _header_accept
end
_header_content_type = []
headerParams['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
header_params['Accept'] = _header_accept if _header_accept != ''
_header_content_type = []
header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
# form parameters
form_params = {}
# http body (model)
post_body = nil
# form parameters
form_parameter_hash = {}
response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body, :form_params => form_parameter_hash }).make.body
string.new(response)
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body}).make.body
string.new(response)
end
# Logs out current logged in user session
#
# @param [Hash] opts the optional parameters
# @return void
def self.logoutUser (opts={})
query_param_keys = []
headerParams = {}
def self.logoutUser(opts = {})
# verify existence of params
# set default values and merge with input
options = {
}.merge(opts)
#resource path
# resource path
path = "/user/logout".sub('{format}','json')
# pull querystring keys from options
queryopts = options.select do |key,value|
query_param_keys.include? key
end
# query parameters
query_params = {}
# header parameters
headers = {}
header_params = {}
_header_accept = 'application/json, application/xml'
if _header_accept != ''
headerParams['Accept'] = _header_accept
end
_header_content_type = []
headerParams['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
header_params['Accept'] = _header_accept if _header_accept != ''
_header_content_type = []
header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
# form parameters
form_params = {}
# http body (model)
post_body = nil
# form parameters
form_parameter_hash = {}
Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body, :form_params => form_parameter_hash }).make
Swagger::Request.new(:GET, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
end
# Get user by user name
#
# @param username The name that needs to be fetched. Use user1 for testing.
# @param [Hash] opts the optional parameters
# @return User
def self.getUserByName (username, opts={})
query_param_keys = []
headerParams = {}
def self.getUserByName(username, opts = {})
# verify existence of params
raise "username is required" if username.nil?
# set default values and merge with input
options = {
:'username' => username
}.merge(opts)
#resource path
# resource path
path = "/user/{username}".sub('{format}','json').sub('{' + 'username' + '}', username.to_s)
# pull querystring keys from options
queryopts = options.select do |key,value|
query_param_keys.include? key
end
# query parameters
query_params = {}
# header parameters
headers = {}
header_params = {}
_header_accept = 'application/json, application/xml'
if _header_accept != ''
headerParams['Accept'] = _header_accept
end
_header_content_type = []
headerParams['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
header_params['Accept'] = _header_accept if _header_accept != ''
_header_content_type = []
header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
# form parameters
form_params = {}
# http body (model)
post_body = nil
# form parameters
form_parameter_hash = {}
response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body, :form_params => form_parameter_hash }).make.body
User.new(response)
response = Swagger::Request.new(:GET, path, {:params => query_params, :headers => header_params, :form_params => form_params, :body => post_body}).make.body
User.new(response)
end
# Updated user
# This can only be done by the logged in user.
# @param username name that need to be deleted
# @param body Updated user object
# @param [Hash] opts the optional parameters
# @option opts [User] :body Updated user object
# @return void
def self.updateUser (username, body, opts={})
query_param_keys = []
headerParams = {}
def self.updateUser(username, opts = {})
# verify existence of params
raise "username is required" if username.nil?
# set default values and merge with input
options = {
:'username' => username,
:'body' => body
}.merge(opts)
#resource path
# resource path
path = "/user/{username}".sub('{format}','json').sub('{' + 'username' + '}', username.to_s)
# pull querystring keys from options
queryopts = options.select do |key,value|
query_param_keys.include? key
end
# query parameters
query_params = {}
# header parameters
headers = {}
header_params = {}
_header_accept = 'application/json, application/xml'
if _header_accept != ''
headerParams['Accept'] = _header_accept
end
_header_content_type = []
headerParams['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
header_params['Accept'] = _header_accept if _header_accept != ''
_header_content_type = []
header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
# form parameters
form_params = {}
# http body (model)
post_body = nil
if body != nil
if body.is_a?(Array)
array = Array.new
@@ -423,64 +328,43 @@ class UserApi
end
end
end
# form parameters
form_parameter_hash = {}
Swagger::Request.new(:PUT, path, {:params=>queryopts,:headers=>headers, :body=>post_body, :form_params => form_parameter_hash }).make
Swagger::Request.new(:PUT, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
end
# Delete user
# This can only be done by the logged in user.
# @param username The name that needs to be deleted
# @param [Hash] opts the optional parameters
# @return void
def self.deleteUser (username, opts={})
query_param_keys = []
headerParams = {}
def self.deleteUser(username, opts = {})
# verify existence of params
raise "username is required" if username.nil?
# set default values and merge with input
options = {
:'username' => username
}.merge(opts)
#resource path
# resource path
path = "/user/{username}".sub('{format}','json').sub('{' + 'username' + '}', username.to_s)
# pull querystring keys from options
queryopts = options.select do |key,value|
query_param_keys.include? key
end
# query parameters
query_params = {}
# header parameters
headers = {}
header_params = {}
_header_accept = 'application/json, application/xml'
if _header_accept != ''
headerParams['Accept'] = _header_accept
end
_header_content_type = []
headerParams['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
header_params['Accept'] = _header_accept if _header_accept != ''
_header_content_type = []
header_params['Content-Type'] = _header_content_type.length > 0 ? _header_content_type[0] : 'application/json'
# form parameters
form_params = {}
# http body (model)
post_body = nil
# form parameters
form_parameter_hash = {}
Swagger::Request.new(:DELETE, path, {:params=>queryopts,:headers=>headers, :body=>post_body, :form_params => form_parameter_hash }).make
Swagger::Request.new(:DELETE, path, {:params => query_params,:headers => header_params, :form_params => form_params, :body => post_body}).make
end
end