Merge pull request #1489 from dvz5/master

Fix array query param processing
This commit is contained in:
wing328 2015-11-02 21:36:25 +08:00
commit 9f7427b1cf
4 changed files with 9 additions and 6 deletions

View File

@ -146,8 +146,8 @@ sub to_path_value {
# @return string the serialized object # @return string the serialized object
sub to_query_value { sub to_query_value {
my ($self, $object) = @_; my ($self, $object) = @_;
if (is_array($object)) { if (ref($object) eq 'ARRAY') {
return implode(',', $object); return join(',', @$object);
} else { } else {
return $self->to_string($object); return $self->to_string($object);
} }

View File

@ -19,7 +19,7 @@ use DateTime;
# #
# return json string # return perl hash
sub to_hash { sub to_hash {
return decode_json(JSON->new->convert_blessed->encode( shift )); return decode_json(JSON->new->convert_blessed->encode( shift ));
} }

View File

@ -146,14 +146,13 @@ sub to_path_value {
# @return string the serialized object # @return string the serialized object
sub to_query_value { sub to_query_value {
my ($self, $object) = @_; my ($self, $object) = @_;
if (is_array($object)) { if (ref($object) eq 'ARRAY') {
return implode(',', $object); return join(',', @$object);
} else { } else {
return $self->to_string($object); return $self->to_string($object);
} }
} }
# Take value and turn it into a string suitable for inclusion in # Take value and turn it into a string suitable for inclusion in
# the header. If it's a string, pass through unchanged # the header. If it's a string, pass through unchanged
# If it's a datetime object, format it in ISO8601 # If it's a datetime object, format it in ISO8601

View File

@ -77,3 +77,7 @@ is $delete_pet, undef, 'get the null response from delete_pet';
throws_ok{$api->get_pet_by_id(pet_id => $pet_id)} qr/API Exception\(404\): Not Found/, "throw 404 error about pet not found after delete"; throws_ok{$api->get_pet_by_id(pet_id => $pet_id)} qr/API Exception\(404\): Not Found/, "throw 404 error about pet not found after delete";
#is $get_pet_after_delete->{status}, undef, 'get the updated status after update_pet_with_form'; #is $get_pet_after_delete->{status}, undef, 'get the updated status after update_pet_with_form';
my $pets;
lives_ok {$pets = $api->find_pets_by_status(status => [qw(sold available)])} 'array query param processed correctly';
isa_ok($pets->[0], 'WWW::SwaggerClient::Object::Pet');