From 3f017af4648271d62ff0bb8a823b06e44eb54d31 Mon Sep 17 00:00:00 2001 From: geekerzp Date: Fri, 3 Jul 2015 18:20:39 +0800 Subject: [PATCH] Update objc client. Replace SWGFile with NSURL. --- .../codegen/languages/ObjcClientCodegen.java | 7 +- .../resources/objc/ApiClient-body.mustache | 109 +++++++----------- .../resources/objc/ApiClient-header.mustache | 3 +- .../main/resources/objc/File-body.mustache | 35 ------ .../main/resources/objc/File-header.mustache | 45 -------- .../src/main/resources/objc/api-body.mustache | 23 +--- .../objc/SwaggerClient/SWGApiClient.h | 3 +- .../objc/SwaggerClient/SWGApiClient.m | 109 +++++++----------- .../petstore/objc/SwaggerClient/SWGPetApi.h | 3 +- .../petstore/objc/SwaggerClient/SWGPetApi.m | 86 ++++++-------- .../petstore/objc/SwaggerClient/SWGStoreApi.m | 29 ++--- .../petstore/objc/SwaggerClient/SWGUserApi.m | 52 +++++---- .../xcshareddata/SwaggerClient.xccheckout | 41 +++++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 12123 bytes .../SwaggerClientTests/Tests/PetApiTest.m | 17 ++- 15 files changed, 227 insertions(+), 335 deletions(-) delete mode 100644 modules/swagger-codegen/src/main/resources/objc/File-body.mustache delete mode 100644 modules/swagger-codegen/src/main/resources/objc/File-header.mustache create mode 100644 samples/client/petstore/objc/SwaggerClientTests/SwaggerClient.xcodeproj/project.xcworkspace/xcshareddata/SwaggerClient.xccheckout create mode 100644 samples/client/petstore/objc/SwaggerClientTests/SwaggerClient.xcodeproj/project.xcworkspace/xcuserdata/geekerzp.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java index e751bda408e..314067c2ae0 100644 --- a/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java +++ b/modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java @@ -36,6 +36,7 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { defaultIncludes.add("bool"); defaultIncludes.add("BOOL"); defaultIncludes.add("int"); + defaultIncludes.add("NSURL"); defaultIncludes.add("NSString"); defaultIncludes.add("NSObject"); defaultIncludes.add("NSArray"); @@ -50,6 +51,7 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { languageSpecificPrimitives.add("NSString"); languageSpecificPrimitives.add("NSObject"); languageSpecificPrimitives.add("NSDate"); + languageSpecificPrimitives.add("NSURL"); languageSpecificPrimitives.add("bool"); languageSpecificPrimitives.add("BOOL"); @@ -69,7 +71,7 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { typeMapping.put("number", "NSNumber"); typeMapping.put("List", "NSArray"); typeMapping.put("object", "NSObject"); - typeMapping.put("file", "File"); + typeMapping.put("file", "NSURL"); // ref: http://www.tutorialspoint.com/objective_c/objective_c_basic_syntax.htm reservedWords = new HashSet( @@ -97,6 +99,7 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { "NSObject", "NSString", "NSDate", + "NSURL", "NSDictionary") ); @@ -156,8 +159,6 @@ public class ObjcClientCodegen extends DefaultCodegen implements CodegenConfig { supportingFiles.add(new SupportingFile("JSONResponseSerializer-body.mustache", swaggerFolder, classPrefix + "JSONResponseSerializer.m")); supportingFiles.add(new SupportingFile("JSONRequestSerializer-body.mustache", swaggerFolder, classPrefix + "JSONRequestSerializer.m")); supportingFiles.add(new SupportingFile("JSONRequestSerializer-header.mustache", swaggerFolder, classPrefix + "JSONRequestSerializer.h")); - supportingFiles.add(new SupportingFile("File-header.mustache", swaggerFolder, classPrefix + "File.h")); - supportingFiles.add(new SupportingFile("File-body.mustache", swaggerFolder, classPrefix + "File.m")); supportingFiles.add(new SupportingFile("JSONValueTransformer+ISO8601.m", swaggerFolder, "JSONValueTransformer+ISO8601.m")); supportingFiles.add(new SupportingFile("JSONValueTransformer+ISO8601.h", swaggerFolder, "JSONValueTransformer+ISO8601.h")); supportingFiles.add(new SupportingFile("Configuration-body.mustache", swaggerFolder, classPrefix + "Configuration.m")); diff --git a/modules/swagger-codegen/src/main/resources/objc/ApiClient-body.mustache b/modules/swagger-codegen/src/main/resources/objc/ApiClient-body.mustache index af82da664ee..e068829caf6 100644 --- a/modules/swagger-codegen/src/main/resources/objc/ApiClient-body.mustache +++ b/modules/swagger-codegen/src/main/resources/objc/ApiClient-body.mustache @@ -348,16 +348,6 @@ static bool loggingEnabled = true; *querys = [NSDictionary dictionaryWithDictionary:querysWithAuth]; } -#pragma mark - Predicate methods - -- (BOOL) isDownloadFile:(NSString *)responseType { - if ([responseType isEqualToString:@"{{classPrefix}}File*"]) { - return YES; - } else { - return NO; - } -} - #pragma mark - Deserialize methods - (id) deserialize:(id) data class:(NSString *) class { @@ -542,10 +532,11 @@ static bool loggingEnabled = true; else { filename = [NSString stringWithFormat:@"%@", [[NSProcessInfo processInfo] globallyUniqueString]]; } - + NSString *filepath = [directory stringByAppendingPathComponent:filename]; + NSURL *file = [NSURL fileURLWithPath:filepath]; - {{classPrefix}}File *file = [[{{classPrefix}}File alloc] initWithPath:filepath data:operation.responseData name:filename]; + [operation.responseData writeToURL:file atomically:YES]; completionBlock(file, nil); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { @@ -573,6 +564,8 @@ static bool loggingEnabled = true; -(NSNumber*) requestWithCompletionBlock: (NSString*) path method: (NSString*) method queryParams: (NSDictionary*) queryParams + formParams: (NSDictionary *) formParams + files: (NSDictionary *) files body: (id) body headerParams: (NSDictionary*) headerParams authSettings: (NSArray *) authSettings @@ -606,66 +599,38 @@ static bool loggingEnabled = true; [self updateHeaderParams:&headerParams queryParams:&queryParams WithAuthSettings:authSettings]; NSMutableURLRequest * request = nil; - if (body != nil && [body isKindOfClass:[NSArray class]]){ - {{classPrefix}}File * file; - NSMutableDictionary * params = [[NSMutableDictionary alloc] init]; - for(id obj in body) { - if([obj isKindOfClass:[{{classPrefix}}File class]]) { - file = ({{classPrefix}}File*) obj; - requestContentType = @"multipart/form-data"; - } - else if([obj isKindOfClass:[NSDictionary class]]) { - for(NSString * key in obj) { - params[key] = obj[key]; - } - } - } - NSString * urlString = [[NSURL URLWithString:path relativeToURL:self.baseURL] absoluteString]; - - // request with multipart form - if([requestContentType isEqualToString:@"multipart/form-data"]) { - request = [self.requestSerializer multipartFormRequestWithMethod: @"POST" - URLString: urlString - parameters: nil - constructingBodyWithBlock: ^(id formData) { - - for(NSString * key in params) { - NSData* data = [params[key] dataUsingEncoding:NSUTF8StringEncoding]; - [formData appendPartWithFormData: data name: key]; - } - - if (file) { - [formData appendPartWithFileData: [file data] - name: [file paramName] - fileName: [file name] - mimeType: [file mimeType]]; - } - - } - error:nil]; - } - // request with form parameters or json - else { - NSString* pathWithQueryParams = [self pathWithQueryParamsToString:path queryParams:queryParams]; - NSString* urlString = [[NSURL URLWithString:pathWithQueryParams relativeToURL:self.baseURL] absoluteString]; - - request = [self.requestSerializer requestWithMethod:method - URLString:urlString - parameters:params - error:nil]; - } - + NSString* pathWithQueryParams = [self pathWithQueryParamsToString:path queryParams:queryParams]; + NSString* urlString = [[NSURL URLWithString:pathWithQueryParams relativeToURL:self.baseURL] absoluteString]; + if (files.count > 0) { + request = [self.requestSerializer multipartFormRequestWithMethod:@"POST" + URLString:urlString + parameters:nil + constructingBodyWithBlock:^(id formData) { + [formParams enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { + NSData *data = [obj dataUsingEncoding:NSUTF8StringEncoding]; + [formData appendPartWithFormData:data name:key]; + }]; + [files enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { + NSURL *filePath = (NSURL *)obj; + [formData appendPartWithFileURL:filePath name:key error:nil]; + }]; + } error:nil]; } else { - NSString * pathWithQueryParams = [self pathWithQueryParamsToString:path queryParams:queryParams]; - NSString * urlString = [[NSURL URLWithString:pathWithQueryParams relativeToURL:self.baseURL] absoluteString]; - - request = [self.requestSerializer requestWithMethod: method - URLString: urlString - parameters: body - error: nil]; + if (formParams) { + request = [self.requestSerializer requestWithMethod:method + URLString:urlString + parameters:formParams + error:nil]; + } + if (body) { + request = [self.requestSerializer requestWithMethod:method + URLString:urlString + parameters:body + error:nil]; + } } - + BOOL hasHeaderParams = false; if(headerParams != nil && [headerParams count] > 0) { hasHeaderParams = true; @@ -695,7 +660,7 @@ static bool loggingEnabled = true; [request setHTTPShouldHandleCookies:NO]; NSNumber* requestId = [{{classPrefix}}ApiClient queueRequest]; - if ([self isDownloadFile:responseType]) { + if ([responseType isEqualToString:@"NSURL*"]) { [self downloadOperationWithCompletionBlock:request requestId:requestId completionBlock:^(id data, NSError *error) { completionBlock(data, error); }]; @@ -709,3 +674,7 @@ static bool loggingEnabled = true; } @end + + + + diff --git a/modules/swagger-codegen/src/main/resources/objc/ApiClient-header.mustache b/modules/swagger-codegen/src/main/resources/objc/ApiClient-header.mustache index ee309d774c5..84c61fa34bf 100644 --- a/modules/swagger-codegen/src/main/resources/objc/ApiClient-header.mustache +++ b/modules/swagger-codegen/src/main/resources/objc/ApiClient-header.mustache @@ -3,7 +3,6 @@ #import #import "{{classPrefix}}JSONResponseSerializer.h" #import "{{classPrefix}}JSONRequestSerializer.h" -#import "{{classPrefix}}File.h" #import "{{classPrefix}}QueryParamCollection.h" #import "{{classPrefix}}Configuration.h" @@ -194,6 +193,8 @@ extern NSString *const {{classPrefix}}ResponseObjectErrorKey; -(NSNumber*) requestWithCompletionBlock:(NSString*) path method:(NSString*) method queryParams:(NSDictionary*) queryParams + formParams:(NSDictionary *) formParams + files:(NSDictionary *) files body:(id) body headerParams:(NSDictionary*) headerParams authSettings: (NSArray *) authSettings diff --git a/modules/swagger-codegen/src/main/resources/objc/File-body.mustache b/modules/swagger-codegen/src/main/resources/objc/File-body.mustache deleted file mode 100644 index 496fd0c2519..00000000000 --- a/modules/swagger-codegen/src/main/resources/objc/File-body.mustache +++ /dev/null @@ -1,35 +0,0 @@ -#import "{{classPrefix}}File.h" - -@implementation {{classPrefix}}File - -- (id) init { - self = [super init]; - return self; -} - -- (id) initWithNameData: (NSString*) filename - mimeType: (NSString*) fileMimeType - data: (NSData*) data { - self = [super init]; - if(self) { - _name = filename; - _mimeType = fileMimeType; - _data = data; - } - return self; -} - -- (id) initWithPath:(NSString *)filepath data:(NSData *)data name:(NSString *)filename { - self = [super init]; - - if (self) { - _name = filename; - _data = data; - _path = filepath; - [data writeToFile:_path atomically:YES]; - } - - return self; -} - -@end diff --git a/modules/swagger-codegen/src/main/resources/objc/File-header.mustache b/modules/swagger-codegen/src/main/resources/objc/File-header.mustache deleted file mode 100644 index 3bea6848e6b..00000000000 --- a/modules/swagger-codegen/src/main/resources/objc/File-header.mustache +++ /dev/null @@ -1,45 +0,0 @@ -#import - -@interface {{classPrefix}}File : NSObject - -/** - * File name - */ -@property(nonatomic, readonly) NSString* name; - -/** - * File mimeType, for `multipart/form` post - */ -@property(nonatomic, readonly) NSString* mimeType; - -/** - * File data - */ -@property(nonatomic, readonly) NSData* data; - -/** - * File field parameter name, for `multipart/form` post - */ -@property(nonatomic) NSString* paramName; - -/** - * File path - */ -@property(nonatomic, readonly) NSString *path; - -/** - * Initialize with `filename`, `mimeType`, `filedata`. - */ -- (id) initWithNameData: (NSString*) filename - mimeType: (NSString*) mimeType - data: (NSData*) data; - -/** - * Initialize with `filepath`, `filedata`, `filename` - * and write file data into file path. - */ -- (id) initWithPath: (NSString *) filepath - data: (NSData *) data - name: (NSString *) filename; - -@end diff --git a/modules/swagger-codegen/src/main/resources/objc/api-body.mustache b/modules/swagger-codegen/src/main/resources/objc/api-body.mustache index 5a0442705dd..13a9ed1a9f0 100644 --- a/modules/swagger-codegen/src/main/resources/objc/api-body.mustache +++ b/modules/swagger-codegen/src/main/resources/objc/api-body.mustache @@ -139,6 +139,8 @@ static NSString * basePath = @"{{basePath}}"; NSArray *authSettings = @[{{#authMethods}}@"{{name}}"{{#hasMore}}, {{/hasMore}}{{/authMethods}}]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; {{#bodyParam}} bodyParam = {{paramName}}; @@ -157,28 +159,13 @@ static NSString * basePath = @"{{basePath}}"; else if([bodyParam respondsToSelector:@selector(toDictionary)]) { bodyParam = [({{classPrefix}}Object*)bodyParam toDictionary]; } - {{/bodyParam}} - {{^bodyParam}} - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - + {{/bodyParam}}{{^bodyParam}} {{#formParams}} {{#notFile}} formParams[@"{{paramName}}"] = {{paramName}}; {{/notFile}}{{#isFile}} - requestContentType = @"multipart/form-data"; - if(bodyParam == nil) { - bodyParam = [[NSMutableArray alloc] init]; - } - if({{paramName}} != nil) { - [bodyParam addObject:{{paramName}}]; - {{paramName}}.paramName = @"{{baseName}}"; - } + files[@"{{paramName}}"] = {{paramName}}; {{/isFile}} - if(bodyParam == nil) { - bodyParam = [[NSMutableArray alloc] init]; - } - [bodyParam addObject:formParams]; {{/formParams}} {{/bodyParam}} @@ -192,6 +179,8 @@ static NSString * basePath = @"{{basePath}}"; return [self.apiClient requestWithCompletionBlock: requestUrl method: @"{{httpMethod}}" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings diff --git a/samples/client/petstore/objc/SwaggerClient/SWGApiClient.h b/samples/client/petstore/objc/SwaggerClient/SWGApiClient.h index 638e9b59952..5af4f2181e3 100644 --- a/samples/client/petstore/objc/SwaggerClient/SWGApiClient.h +++ b/samples/client/petstore/objc/SwaggerClient/SWGApiClient.h @@ -3,7 +3,6 @@ #import #import "SWGJSONResponseSerializer.h" #import "SWGJSONRequestSerializer.h" -#import "SWGFile.h" #import "SWGQueryParamCollection.h" #import "SWGConfiguration.h" @@ -198,6 +197,8 @@ extern NSString *const SWGResponseObjectErrorKey; -(NSNumber*) requestWithCompletionBlock:(NSString*) path method:(NSString*) method queryParams:(NSDictionary*) queryParams + formParams:(NSDictionary *) formParams + files:(NSDictionary *) files body:(id) body headerParams:(NSDictionary*) headerParams authSettings: (NSArray *) authSettings diff --git a/samples/client/petstore/objc/SwaggerClient/SWGApiClient.m b/samples/client/petstore/objc/SwaggerClient/SWGApiClient.m index febaac0fa72..3f35c52d849 100644 --- a/samples/client/petstore/objc/SwaggerClient/SWGApiClient.m +++ b/samples/client/petstore/objc/SwaggerClient/SWGApiClient.m @@ -348,16 +348,6 @@ static bool loggingEnabled = true; *querys = [NSDictionary dictionaryWithDictionary:querysWithAuth]; } -#pragma mark - Predicate methods - -- (BOOL) isDownloadFile:(NSString *)responseType { - if ([responseType isEqualToString:@"SWGFile*"]) { - return YES; - } else { - return NO; - } -} - #pragma mark - Deserialize methods - (id) deserialize:(id) data class:(NSString *) class { @@ -542,10 +532,11 @@ static bool loggingEnabled = true; else { filename = [NSString stringWithFormat:@"%@", [[NSProcessInfo processInfo] globallyUniqueString]]; } - + NSString *filepath = [directory stringByAppendingPathComponent:filename]; + NSURL *file = [NSURL fileURLWithPath:filepath]; - SWGFile *file = [[SWGFile alloc] initWithPath:filepath data:operation.responseData name:filename]; + [operation.responseData writeToURL:file atomically:YES]; completionBlock(file, nil); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { @@ -573,6 +564,8 @@ static bool loggingEnabled = true; -(NSNumber*) requestWithCompletionBlock: (NSString*) path method: (NSString*) method queryParams: (NSDictionary*) queryParams + formParams: (NSDictionary *) formParams + files: (NSDictionary *) files body: (id) body headerParams: (NSDictionary*) headerParams authSettings: (NSArray *) authSettings @@ -606,66 +599,38 @@ static bool loggingEnabled = true; [self updateHeaderParams:&headerParams queryParams:&queryParams WithAuthSettings:authSettings]; NSMutableURLRequest * request = nil; - if (body != nil && [body isKindOfClass:[NSArray class]]){ - SWGFile * file; - NSMutableDictionary * params = [[NSMutableDictionary alloc] init]; - for(id obj in body) { - if([obj isKindOfClass:[SWGFile class]]) { - file = (SWGFile*) obj; - requestContentType = @"multipart/form-data"; - } - else if([obj isKindOfClass:[NSDictionary class]]) { - for(NSString * key in obj) { - params[key] = obj[key]; - } - } - } - NSString * urlString = [[NSURL URLWithString:path relativeToURL:self.baseURL] absoluteString]; - - // request with multipart form - if([requestContentType isEqualToString:@"multipart/form-data"]) { - request = [self.requestSerializer multipartFormRequestWithMethod: @"POST" - URLString: urlString - parameters: nil - constructingBodyWithBlock: ^(id formData) { - - for(NSString * key in params) { - NSData* data = [params[key] dataUsingEncoding:NSUTF8StringEncoding]; - [formData appendPartWithFormData: data name: key]; - } - - if (file) { - [formData appendPartWithFileData: [file data] - name: [file paramName] - fileName: [file name] - mimeType: [file mimeType]]; - } - - } - error:nil]; - } - // request with form parameters or json - else { - NSString* pathWithQueryParams = [self pathWithQueryParamsToString:path queryParams:queryParams]; - NSString* urlString = [[NSURL URLWithString:pathWithQueryParams relativeToURL:self.baseURL] absoluteString]; - - request = [self.requestSerializer requestWithMethod:method - URLString:urlString - parameters:params - error:nil]; - } - + NSString* pathWithQueryParams = [self pathWithQueryParamsToString:path queryParams:queryParams]; + NSString* urlString = [[NSURL URLWithString:pathWithQueryParams relativeToURL:self.baseURL] absoluteString]; + if (files.count > 0) { + request = [self.requestSerializer multipartFormRequestWithMethod:@"POST" + URLString:urlString + parameters:nil + constructingBodyWithBlock:^(id formData) { + [formParams enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { + NSData *data = [obj dataUsingEncoding:NSUTF8StringEncoding]; + [formData appendPartWithFormData:data name:key]; + }]; + [files enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { + NSURL *filePath = (NSURL *)obj; + [formData appendPartWithFileURL:filePath name:key error:nil]; + }]; + } error:nil]; } else { - NSString * pathWithQueryParams = [self pathWithQueryParamsToString:path queryParams:queryParams]; - NSString * urlString = [[NSURL URLWithString:pathWithQueryParams relativeToURL:self.baseURL] absoluteString]; - - request = [self.requestSerializer requestWithMethod: method - URLString: urlString - parameters: body - error: nil]; + if (formParams) { + request = [self.requestSerializer requestWithMethod:method + URLString:urlString + parameters:formParams + error:nil]; + } + if (body) { + request = [self.requestSerializer requestWithMethod:method + URLString:urlString + parameters:body + error:nil]; + } } - + BOOL hasHeaderParams = false; if(headerParams != nil && [headerParams count] > 0) { hasHeaderParams = true; @@ -695,7 +660,7 @@ static bool loggingEnabled = true; [request setHTTPShouldHandleCookies:NO]; NSNumber* requestId = [SWGApiClient queueRequest]; - if ([self isDownloadFile:responseType]) { + if ([responseType isEqualToString:@"NSURL*"]) { [self downloadOperationWithCompletionBlock:request requestId:requestId completionBlock:^(id data, NSError *error) { completionBlock(data, error); }]; @@ -709,3 +674,7 @@ static bool loggingEnabled = true; } @end + + + + diff --git a/samples/client/petstore/objc/SwaggerClient/SWGPetApi.h b/samples/client/petstore/objc/SwaggerClient/SWGPetApi.h index 257a7d1453e..e009300993d 100644 --- a/samples/client/petstore/objc/SwaggerClient/SWGPetApi.h +++ b/samples/client/petstore/objc/SwaggerClient/SWGPetApi.h @@ -1,6 +1,5 @@ #import #import "SWGPet.h" -#import "SWGFile.h" #import "SWGObject.h" #import "SWGApiClient.h" @@ -139,7 +138,7 @@ /// @return -(NSNumber*) uploadFileWithCompletionBlock :(NSNumber*) petId additionalMetadata:(NSString*) additionalMetadata - file:(SWGFile*) file + file:(NSURL*) file completionHandler: (void (^)(NSError* error))completionBlock; diff --git a/samples/client/petstore/objc/SwaggerClient/SWGPetApi.m b/samples/client/petstore/objc/SwaggerClient/SWGPetApi.m index 33c38b8ed2c..0933016d638 100644 --- a/samples/client/petstore/objc/SwaggerClient/SWGPetApi.m +++ b/samples/client/petstore/objc/SwaggerClient/SWGPetApi.m @@ -2,7 +2,6 @@ #import "SWGFile.h" #import "SWGQueryParamCollection.h" #import "SWGPet.h" -#import "SWGFile.h" @interface SWGPetApi () @@ -123,6 +122,8 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[@"petstore_auth"]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -142,12 +143,13 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; bodyParam = [(SWGObject*)bodyParam toDictionary]; } - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"PUT" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -211,6 +213,8 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[@"petstore_auth"]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -230,12 +234,13 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; bodyParam = [(SWGObject*)bodyParam toDictionary]; } - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"POST" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -305,18 +310,18 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[@"petstore_auth"]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"GET" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -386,18 +391,18 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[@"petstore_auth"]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"GET" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -467,18 +472,18 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[@"api_key", @"petstore_auth"]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"GET" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -554,27 +559,17 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[@"petstore_auth"]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - formParams[@"name"] = name; - if(bodyParam == nil) { - bodyParam = [[NSMutableArray alloc] init]; - } - [bodyParam addObject:formParams]; formParams[@"status"] = status; - if(bodyParam == nil) { - bodyParam = [[NSMutableArray alloc] init]; - } - [bodyParam addObject:formParams]; @@ -582,6 +577,8 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; return [self.apiClient requestWithCompletionBlock: requestUrl method: @"POST" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -656,18 +653,18 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[@"petstore_auth"]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"DELETE" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -694,7 +691,7 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; /// -(NSNumber*) uploadFileWithCompletionBlock: (NSNumber*) petId additionalMetadata: (NSString*) additionalMetadata - file: (SWGFile*) file + file: (NSURL*) file completionHandler: (void (^)(NSError* error))completionBlock { @@ -743,34 +740,17 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[@"petstore_auth"]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - formParams[@"additionalMetadata"] = additionalMetadata; - if(bodyParam == nil) { - bodyParam = [[NSMutableArray alloc] init]; - } - [bodyParam addObject:formParams]; - requestContentType = @"multipart/form-data"; - if(bodyParam == nil) { - bodyParam = [[NSMutableArray alloc] init]; - } - if(file != nil) { - [bodyParam addObject:file]; - file.paramName = @"file"; - } + files[@"file"] = file; - if(bodyParam == nil) { - bodyParam = [[NSMutableArray alloc] init]; - } - [bodyParam addObject:formParams]; @@ -778,6 +758,8 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; return [self.apiClient requestWithCompletionBlock: requestUrl method: @"POST" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings diff --git a/samples/client/petstore/objc/SwaggerClient/SWGStoreApi.m b/samples/client/petstore/objc/SwaggerClient/SWGStoreApi.m index 85a0afe47b0..040f7236a3d 100644 --- a/samples/client/petstore/objc/SwaggerClient/SWGStoreApi.m +++ b/samples/client/petstore/objc/SwaggerClient/SWGStoreApi.m @@ -119,18 +119,18 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[@"api_key"]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"GET" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -194,6 +194,8 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -213,12 +215,13 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; bodyParam = [(SWGObject*)bodyParam toDictionary]; } - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"POST" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -288,18 +291,18 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"GET" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -369,18 +372,18 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"DELETE" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings diff --git a/samples/client/petstore/objc/SwaggerClient/SWGUserApi.m b/samples/client/petstore/objc/SwaggerClient/SWGUserApi.m index d28d94011b7..3a0e7b8bb40 100644 --- a/samples/client/petstore/objc/SwaggerClient/SWGUserApi.m +++ b/samples/client/petstore/objc/SwaggerClient/SWGUserApi.m @@ -122,6 +122,8 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -141,12 +143,13 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; bodyParam = [(SWGObject*)bodyParam toDictionary]; } - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"POST" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -210,6 +213,8 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -229,12 +234,13 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; bodyParam = [(SWGObject*)bodyParam toDictionary]; } - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"POST" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -298,6 +304,8 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -317,12 +325,13 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; bodyParam = [(SWGObject*)bodyParam toDictionary]; } - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"POST" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -397,18 +406,18 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"GET" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -469,18 +478,18 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"GET" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -550,18 +559,18 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"GET" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -634,6 +643,8 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; bodyParam = body; @@ -653,12 +664,13 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; bodyParam = [(SWGObject*)bodyParam toDictionary]; } - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"PUT" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings @@ -728,18 +740,18 @@ static NSString * basePath = @"http://petstore.swagger.io/v2"; NSArray *authSettings = @[]; id bodyParam = nil; + NSMutableDictionary *formParams = [[NSMutableDictionary alloc] init]; + NSMutableDictionary *files = [[NSMutableDictionary alloc] init]; - - NSMutableDictionary * formParams = [[NSMutableDictionary alloc]init]; - - return [self.apiClient requestWithCompletionBlock: requestUrl method: @"DELETE" queryParams: queryParams + formParams: formParams + files: files body: bodyParam headerParams: headerParams authSettings: authSettings diff --git a/samples/client/petstore/objc/SwaggerClientTests/SwaggerClient.xcodeproj/project.xcworkspace/xcshareddata/SwaggerClient.xccheckout b/samples/client/petstore/objc/SwaggerClientTests/SwaggerClient.xcodeproj/project.xcworkspace/xcshareddata/SwaggerClient.xccheckout new file mode 100644 index 00000000000..879945048b3 --- /dev/null +++ b/samples/client/petstore/objc/SwaggerClientTests/SwaggerClient.xcodeproj/project.xcworkspace/xcshareddata/SwaggerClient.xccheckout @@ -0,0 +1,41 @@ + + + + + IDESourceControlProjectFavoriteDictionaryKey + + IDESourceControlProjectIdentifier + 303FE0A9-4715-4C57-8D01-F604EF82CF6D + IDESourceControlProjectName + SwaggerClient + IDESourceControlProjectOriginsDictionary + + E5BBF0AA85077C865C95437976D06D819733A208 + https://github.com/geekerzp/swagger-codegen.git + + IDESourceControlProjectPath + samples/client/petstore/objc/SwaggerClientTests/SwaggerClient.xcodeproj + IDESourceControlProjectRelativeInstallPathDictionary + + E5BBF0AA85077C865C95437976D06D819733A208 + ../../../../../../.. + + IDESourceControlProjectURL + https://github.com/geekerzp/swagger-codegen.git + IDESourceControlProjectVersion + 111 + IDESourceControlProjectWCCIdentifier + E5BBF0AA85077C865C95437976D06D819733A208 + IDESourceControlProjectWCConfigurations + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + E5BBF0AA85077C865C95437976D06D819733A208 + IDESourceControlWCCName + swagger-codegen + + + + diff --git a/samples/client/petstore/objc/SwaggerClientTests/SwaggerClient.xcodeproj/project.xcworkspace/xcuserdata/geekerzp.xcuserdatad/UserInterfaceState.xcuserstate b/samples/client/petstore/objc/SwaggerClientTests/SwaggerClient.xcodeproj/project.xcworkspace/xcuserdata/geekerzp.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..4b91a2c5500b646d6c7a7c36003140c402ade1a7 GIT binary patch literal 12123 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 literal 0 HcmV?d00001 diff --git a/samples/client/petstore/objc/SwaggerClientTests/Tests/PetApiTest.m b/samples/client/petstore/objc/SwaggerClientTests/Tests/PetApiTest.m index 64527d1abcb..8b0a5a10bb2 100644 --- a/samples/client/petstore/objc/SwaggerClientTests/Tests/PetApiTest.m +++ b/samples/client/petstore/objc/SwaggerClientTests/Tests/PetApiTest.m @@ -219,14 +219,11 @@ } - (void)testUploadFile { - XCTestExpectation *expectation = [self expectationWithDescription:@"testUploadFile"]; - - NSString* str = @"teststring"; - NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding]; + XCTestExpectation *expectation = [self expectationWithDescription:@"testUploadWithFile"]; - SWGFile * file = [[SWGFile alloc] initWithNameData: @"myFile.txt" mimeType:@"text/plain" data:data]; + NSURL *fileURL = [self createTempFile]; - [api uploadFileWithCompletionBlock:@1 additionalMetadata:@"special-metadata" file:file completionHandler:^(NSError *error) { + [api uploadFileWithCompletionBlock:@1 additionalMetadata:@"special-metadata" file:fileURL completionHandler:^(NSError *error) { if(error) { // good XCTFail(@"expected a failure"); @@ -278,4 +275,12 @@ pet.photoUrls = photos; return pet; } + +- (NSURL *) createTempFile { + NSString *filePath = [NSTemporaryDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"%@", [[NSProcessInfo processInfo] globallyUniqueString]]]; + NSData *data = [@"test string" dataUsingEncoding:NSUTF8StringEncoding]; + [data writeToFile:filePath atomically:YES]; + + return [NSURL fileURLWithPath:filePath]; +} @end