Skip to content

Commit fb14585

Browse files
committed
Add parameterToString method
1 parent 349702a commit fb14585

File tree

11 files changed

+92
-93
lines changed

11 files changed

+92
-93
lines changed

modules/swagger-codegen/src/main/resources/objc/ApiClient-body.mustache

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,8 @@ static void (^reachabilityChangeBlock)(int);
546546
parameters:nil
547547
constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
548548
[formParams enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
549-
NSData *data = [obj dataUsingEncoding:NSUTF8StringEncoding];
549+
NSString *objString = [self parameterToString:obj];
550+
NSData *data = [objString dataUsingEncoding:NSUTF8StringEncoding];
550551
[formData appendPartWithFormData:data name:key];
551552
}];
552553
[files enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
@@ -763,4 +764,30 @@ static void (^reachabilityChangeBlock)(int);
763764
return securityPolicy;
764765
}
765766

767+
- (NSString *) parameterToString:(id)param {
768+
if ([param isKindOfClass:[NSString class]]) {
769+
return param;
770+
}
771+
else if ([param isKindOfClass:[NSNumber class]]) {
772+
return [param stringValue];
773+
}
774+
else if ([param isKindOfClass:[NSDate class]]) {
775+
return [param ISO8601String];
776+
}
777+
else if ([param isKindOfClass:[NSArray class]]) {
778+
NSMutableArray *mutableParam;
779+
[param enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
780+
[mutableParam addObject:[self parameterToString:obj]];
781+
}];
782+
return [mutableParam componentsJoinedByString:@", "];
783+
}
784+
else {
785+
NSException *e = [NSException
786+
exceptionWithName:@"InvalidObjectArgumentException"
787+
reason:[NSString stringWithFormat:@"*** The argument object: %@ is invalid", param]
788+
userInfo:nil];
789+
@throw e;
790+
}
791+
}
792+
766793
@end

modules/swagger-codegen/src/main/resources/objc/ApiClient-header.mustache

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,4 +210,9 @@ extern NSString *const {{classPrefix}}ResponseObjectErrorKey;
210210
*/
211211
- (AFSecurityPolicy *) customSecurityPolicy;
212212

213+
/**
214+
* Convert parameter to NSString
215+
*/
216+
- (NSString *) parameterToString: (id) param;
217+
213218
@end

modules/swagger-codegen/src/main/resources/objc/api-body.mustache

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -100,11 +100,7 @@ static {{classname}}* singletonAPI = nil;
100100

101101
NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];
102102
{{#pathParams}}if ({{paramName}} != nil) {
103-
if([{{paramName}} isKindOfClass:[NSNumber class]]){
104-
pathParams[@"{{baseName}}"] = [((NSNumber *){{paramName}}) stringValue];
105-
}else{
106-
pathParams[@"{{baseName}}"] = {{paramName}};
107-
}
103+
pathParams[@"{{baseName}}"] = {{paramName}};
108104
}
109105
{{/pathParams}}
110106

@@ -118,12 +114,8 @@ static {{classname}}* singletonAPI = nil;
118114
{{/queryParams}}
119115
NSMutableDictionary* headerParams = [NSMutableDictionary dictionaryWithDictionary:self.defaultHeaders];
120116

121-
{{#headerParams}}if({{paramName}} != nil){
122-
if([{{paramName}} isKindOfClass:[NSNumber class]]){
123-
headerParams[@"{{baseName}}"] = [((NSNumber *){{paramName}}) stringValue];
124-
}else{
125-
headerParams[@"{{baseName}}"] = {{paramName}};
126-
}
117+
{{#headerParams}}if({{paramName}} != nil) {
118+
headerParams[@"{{baseName}}"] = {{paramName}};
127119
}
128120
{{/headerParams}}
129121

@@ -157,11 +149,7 @@ static {{classname}}* singletonAPI = nil;
157149
{{#formParams}}
158150
{{#notFile}}
159151
if ({{paramName}}) {
160-
if([{{paramName}} isKindOfClass:[NSNumber class]]){
161-
formParams[@"{{baseName}}"] = [((NSNumber *){{paramName}}) stringValue];
162-
}else{
163-
formParams[@"{{baseName}}"] = {{paramName}};
164-
}
152+
formParams[@"{{baseName}}"] = {{paramName}};
165153
}
166154
{{/notFile}}{{#isFile}}
167155
files[@"{{paramName}}"] = {{paramName}};

samples/client/petstore/objc/SwaggerClient.podspec

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@ Pod::Spec.new do |s|
2121

2222
s.framework = 'SystemConfiguration'
2323

24-
s.homepage = "https://github.com/swagger-api/swagger-codegen"
25-
s.license = "MIT"
26-
s.source = { :git => "https://github.com/swagger-api/swagger-codegen.git", :tag => "#{s.version}" }
27-
s.author = { "Swagger" => "[email protected]" }
24+
s.homepage = ""
25+
s.license = ""
26+
s.source = { :git => ".git", :tag => "#{s.version}" }
27+
s.author = { "" => "" }
2828

2929
s.source_files = 'SwaggerClient/**/*'
3030
s.public_header_files = 'SwaggerClient/**/*.h'

samples/client/petstore/objc/SwaggerClient/SWGApiClient.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,4 +214,9 @@ extern NSString *const SWGResponseObjectErrorKey;
214214
*/
215215
- (AFSecurityPolicy *) customSecurityPolicy;
216216

217+
/**
218+
* Convert parameter to NSString
219+
*/
220+
- (NSString *) parameterToString: (id) param;
221+
217222
@end

samples/client/petstore/objc/SwaggerClient/SWGApiClient.m

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,8 @@ -(NSNumber*) requestWithCompletionBlock: (NSString*) path
546546
parameters:nil
547547
constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
548548
[formParams enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
549-
NSData *data = [obj dataUsingEncoding:NSUTF8StringEncoding];
549+
NSString *objString = [self parameterToString:obj];
550+
NSData *data = [objString dataUsingEncoding:NSUTF8StringEncoding];
550551
[formData appendPartWithFormData:data name:key];
551552
}];
552553
[files enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
@@ -763,4 +764,30 @@ - (AFSecurityPolicy *) customSecurityPolicy {
763764
return securityPolicy;
764765
}
765766

767+
- (NSString *) parameterToString:(id)param {
768+
if ([param isKindOfClass:[NSString class]]) {
769+
return param;
770+
}
771+
else if ([param isKindOfClass:[NSNumber class]]) {
772+
return [param stringValue];
773+
}
774+
else if ([param isKindOfClass:[NSDate class]]) {
775+
return [param ISO8601String];
776+
}
777+
else if ([param isKindOfClass:[NSArray class]]) {
778+
NSMutableArray *mutableParam;
779+
[param enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
780+
[mutableParam addObject:[self parameterToString:obj]];
781+
}];
782+
return [mutableParam componentsJoinedByString:@", "];
783+
}
784+
else {
785+
NSException *e = [NSException
786+
exceptionWithName:@"InvalidObjectArgumentException"
787+
reason:[NSString stringWithFormat:@"*** The argument object: %@ is invalid", param]
788+
userInfo:nil];
789+
@throw e;
790+
}
791+
}
792+
766793
@end

samples/client/petstore/objc/SwaggerClient/SWGPetApi.m

Lines changed: 9 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -421,11 +421,7 @@ -(NSNumber*) getPetByIdWithCompletionBlock: (NSNumber*) petId
421421

422422
NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];
423423
if (petId != nil) {
424-
if([petId isKindOfClass:[NSNumber class]]){
425-
pathParams[@"petId"] = [((NSNumber *)petId) stringValue];
426-
}else{
427-
pathParams[@"petId"] = petId;
428-
}
424+
pathParams[@"petId"] = petId;
429425
}
430426

431427

@@ -517,11 +513,7 @@ -(NSNumber*) updatePetWithFormWithCompletionBlock: (NSString*) petId
517513

518514
NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];
519515
if (petId != nil) {
520-
if([petId isKindOfClass:[NSNumber class]]){
521-
pathParams[@"petId"] = [((NSNumber *)petId) stringValue];
522-
}else{
523-
pathParams[@"petId"] = petId;
524-
}
516+
pathParams[@"petId"] = petId;
525517
}
526518

527519

@@ -559,21 +551,13 @@ -(NSNumber*) updatePetWithFormWithCompletionBlock: (NSString*) petId
559551

560552

561553
if (name) {
562-
if([name isKindOfClass:[NSNumber class]]){
563-
formParams[@"name"] = [((NSNumber *)name) stringValue];
564-
}else{
565-
formParams[@"name"] = name;
566-
}
554+
formParams[@"name"] = name;
567555
}
568556

569557

570558

571559
if (status) {
572-
if([status isKindOfClass:[NSNumber class]]){
573-
formParams[@"status"] = [((NSNumber *)status) stringValue];
574-
}else{
575-
formParams[@"status"] = status;
576-
}
560+
formParams[@"status"] = status;
577561
}
578562

579563

@@ -630,24 +614,16 @@ -(NSNumber*) deletePetWithCompletionBlock: (NSNumber*) petId
630614

631615
NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];
632616
if (petId != nil) {
633-
if([petId isKindOfClass:[NSNumber class]]){
634-
pathParams[@"petId"] = [((NSNumber *)petId) stringValue];
635-
}else{
636-
pathParams[@"petId"] = petId;
637-
}
617+
pathParams[@"petId"] = petId;
638618
}
639619

640620

641621
NSMutableDictionary* queryParams = [[NSMutableDictionary alloc] init];
642622

643623
NSMutableDictionary* headerParams = [NSMutableDictionary dictionaryWithDictionary:self.defaultHeaders];
644624

645-
if(apiKey != nil){
646-
if([apiKey isKindOfClass:[NSNumber class]]){
647-
headerParams[@"api_key"] = [((NSNumber *)apiKey) stringValue];
648-
}else{
649-
headerParams[@"api_key"] = apiKey;
650-
}
625+
if(apiKey != nil) {
626+
headerParams[@"api_key"] = apiKey;
651627
}
652628

653629

@@ -733,11 +709,7 @@ -(NSNumber*) uploadFileWithCompletionBlock: (NSNumber*) petId
733709

734710
NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];
735711
if (petId != nil) {
736-
if([petId isKindOfClass:[NSNumber class]]){
737-
pathParams[@"petId"] = [((NSNumber *)petId) stringValue];
738-
}else{
739-
pathParams[@"petId"] = petId;
740-
}
712+
pathParams[@"petId"] = petId;
741713
}
742714

743715

@@ -775,11 +747,7 @@ -(NSNumber*) uploadFileWithCompletionBlock: (NSNumber*) petId
775747

776748

777749
if (additionalMetadata) {
778-
if([additionalMetadata isKindOfClass:[NSNumber class]]){
779-
formParams[@"additionalMetadata"] = [((NSNumber *)additionalMetadata) stringValue];
780-
}else{
781-
formParams[@"additionalMetadata"] = additionalMetadata;
782-
}
750+
formParams[@"additionalMetadata"] = additionalMetadata;
783751
}
784752

785753

samples/client/petstore/objc/SwaggerClient/SWGStoreApi.m

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -250,11 +250,7 @@ -(NSNumber*) getOrderByIdWithCompletionBlock: (NSString*) orderId
250250

251251
NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];
252252
if (orderId != nil) {
253-
if([orderId isKindOfClass:[NSNumber class]]){
254-
pathParams[@"orderId"] = [((NSNumber *)orderId) stringValue];
255-
}else{
256-
pathParams[@"orderId"] = orderId;
257-
}
253+
pathParams[@"orderId"] = orderId;
258254
}
259255

260256

@@ -340,11 +336,7 @@ -(NSNumber*) deleteOrderWithCompletionBlock: (NSString*) orderId
340336

341337
NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];
342338
if (orderId != nil) {
343-
if([orderId isKindOfClass:[NSNumber class]]){
344-
pathParams[@"orderId"] = [((NSNumber *)orderId) stringValue];
345-
}else{
346-
pathParams[@"orderId"] = orderId;
347-
}
339+
pathParams[@"orderId"] = orderId;
348340
}
349341

350342

samples/client/petstore/objc/SwaggerClient/SWGUserApi.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@
9999
/// Get user by user name
100100
///
101101
///
102-
/// @param username The name that needs to be fetched. Use user1 for testing.
102+
/// @param username The name that needs to be fetched. Use user1 for testing.
103103
///
104104
///
105105
/// @return SWGUser*

samples/client/petstore/objc/SwaggerClient/SWGUserApi.m

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ -(NSNumber*) logoutUserWithCompletionBlock:
470470
///
471471
/// Get user by user name
472472
///
473-
/// @param username The name that needs to be fetched. Use user1 for testing.
473+
/// @param username The name that needs to be fetched. Use user1 for testing.
474474
///
475475
/// @returns SWGUser*
476476
///
@@ -495,11 +495,7 @@ -(NSNumber*) getUserByNameWithCompletionBlock: (NSString*) username
495495

496496
NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];
497497
if (username != nil) {
498-
if([username isKindOfClass:[NSNumber class]]){
499-
pathParams[@"username"] = [((NSNumber *)username) stringValue];
500-
}else{
501-
pathParams[@"username"] = username;
502-
}
498+
pathParams[@"username"] = username;
503499
}
504500

505501

@@ -588,11 +584,7 @@ -(NSNumber*) updateUserWithCompletionBlock: (NSString*) username
588584

589585
NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];
590586
if (username != nil) {
591-
if([username isKindOfClass:[NSNumber class]]){
592-
pathParams[@"username"] = [((NSNumber *)username) stringValue];
593-
}else{
594-
pathParams[@"username"] = username;
595-
}
587+
pathParams[@"username"] = username;
596588
}
597589

598590

@@ -678,11 +670,7 @@ -(NSNumber*) deleteUserWithCompletionBlock: (NSString*) username
678670

679671
NSMutableDictionary *pathParams = [[NSMutableDictionary alloc] init];
680672
if (username != nil) {
681-
if([username isKindOfClass:[NSNumber class]]){
682-
pathParams[@"username"] = [((NSNumber *)username) stringValue];
683-
}else{
684-
pathParams[@"username"] = username;
685-
}
673+
pathParams[@"username"] = username;
686674
}
687675

688676

0 commit comments

Comments
 (0)