Skip to content

Commit 2172677

Browse files
committed
generated ObjC method names to follow Apple's coding convention
1 parent d05596d commit 2172677

File tree

7 files changed

+67
-52
lines changed

7 files changed

+67
-52
lines changed

modules/swagger-codegen/src/main/java/io/swagger/codegen/CodegenOperation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class CodegenOperation {
1515
isListContainer, isMultipart, hasMore = Boolean.TRUE,
1616
isResponseBinary = Boolean.FALSE, hasReference = Boolean.FALSE;
1717
public String path, operationId, returnType, httpMethod, returnBaseType,
18-
returnContainer, summary, notes, baseName, defaultResponse;
18+
returnContainer, summary, notes, baseName, defaultResponse, firstParamAltName;
1919
public List<Map<String, String>> consumes, produces;
2020
public CodegenParameter bodyParam;
2121
public List<CodegenParameter> allParams = new ArrayList<CodegenParameter>();

modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultCodegen.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1461,6 +1461,7 @@ public int compare(CodegenParameter one, CodegenParameter another) {
14611461

14621462
if (op.allParams.size() > 0) {
14631463
op.hasParams = true;
1464+
op.firstParamAltName = allParams.get(0).paramName;
14641465
}
14651466
op.externalDocs = operation.getExternalDocs();
14661467

modules/swagger-codegen/src/main/java/io/swagger/codegen/languages/ObjcClientCodegen.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,22 @@
33
import io.swagger.codegen.CliOption;
44
import io.swagger.codegen.CodegenConfig;
55
import io.swagger.codegen.CodegenConstants;
6+
import io.swagger.codegen.CodegenOperation;
67
import io.swagger.codegen.CodegenProperty;
78
import io.swagger.codegen.CodegenType;
89
import io.swagger.codegen.DefaultCodegen;
910
import io.swagger.codegen.SupportingFile;
11+
import io.swagger.models.Model;
12+
import io.swagger.models.Operation;
13+
import io.swagger.models.Swagger;
1014
import io.swagger.models.properties.*;
1115

1216
import java.io.File;
1317
import java.util.Arrays;
1418
import java.util.HashMap;
1519
import java.util.HashSet;
20+
import java.util.List;
21+
import java.util.Map;
1622
import java.util.Set;
1723

1824
import org.apache.commons.lang.StringUtils;
@@ -425,6 +431,16 @@ public String toOperationId(String operationId) {
425431
return camelize(sanitizeName(operationId), true);
426432
}
427433

434+
@Override
435+
public CodegenOperation fromOperation(String path, String httpMethod, Operation operation, Map<String, Model> definitions, Swagger swagger) {
436+
437+
CodegenOperation op = super.fromOperation(path, httpMethod, operation, definitions, swagger);
438+
if (op.firstParamAltName != null) {
439+
op.firstParamAltName = camelize(op.firstParamAltName);
440+
}
441+
return op;
442+
}
443+
428444
public void setClassPrefix(String classPrefix) {
429445
this.classPrefix = classPrefix;
430446
}

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

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -499,19 +499,19 @@ static void (^reachabilityChangeBlock)(int);
499499

500500
#pragma mark - Perform Request Methods
501501

502-
-(NSNumber*) requestWithCompletionBlock: (NSString*) path
503-
method: (NSString*) method
504-
pathParams: (NSDictionary *) pathParams
505-
queryParams: (NSDictionary*) queryParams
506-
formParams: (NSDictionary *) formParams
507-
files: (NSDictionary *) files
508-
body: (id) body
509-
headerParams: (NSDictionary*) headerParams
510-
authSettings: (NSArray *) authSettings
511-
requestContentType: (NSString*) requestContentType
512-
responseContentType: (NSString*) responseContentType
513-
responseType: (NSString *) responseType
514-
completionBlock: (void (^)(id, NSError *))completionBlock {
502+
-(NSNumber*) requestWithPath: (NSString*) path
503+
method: (NSString*) method
504+
pathParams: (NSDictionary *) pathParams
505+
queryParams: (NSDictionary*) queryParams
506+
formParams: (NSDictionary *) formParams
507+
files: (NSDictionary *) files
508+
body: (id) body
509+
headerParams: (NSDictionary*) headerParams
510+
authSettings: (NSArray *) authSettings
511+
requestContentType: (NSString*) requestContentType
512+
responseContentType: (NSString*) responseContentType
513+
responseType: (NSString *) responseType
514+
completionBlock: (void (^)(id, NSError *))completionBlock {
515515
// setting request serializer
516516
if ([requestContentType isEqualToString:@"application/json"]) {
517517
self.requestSerializer = [{{classPrefix}}JSONRequestSerializer serializer];

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

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -186,19 +186,19 @@ extern NSString *const {{classPrefix}}ResponseObjectErrorKey;
186186
*
187187
* @return The request id.
188188
*/
189-
-(NSNumber*) requestWithCompletionBlock:(NSString*) path
190-
method:(NSString*) method
191-
pathParams:(NSDictionary *) pathParams
192-
queryParams:(NSDictionary*) queryParams
193-
formParams:(NSDictionary *) formParams
194-
files:(NSDictionary *) files
195-
body:(id) body
196-
headerParams:(NSDictionary*) headerParams
197-
authSettings: (NSArray *) authSettings
198-
requestContentType:(NSString*) requestContentType
199-
responseContentType:(NSString*) responseContentType
200-
responseType:(NSString *) responseType
201-
completionBlock:(void (^)(id, NSError *))completionBlock;
189+
-(NSNumber*) requestWithPath:(NSString*) path
190+
method:(NSString*) method
191+
pathParams:(NSDictionary *) pathParams
192+
queryParams:(NSDictionary*) queryParams
193+
formParams:(NSDictionary *) formParams
194+
files:(NSDictionary *) files
195+
body:(id) body
196+
headerParams:(NSDictionary*) headerParams
197+
authSettings:(NSArray *) authSettings
198+
requestContentType:(NSString*) requestContentType
199+
responseContentType:(NSString*) responseContentType
200+
responseType:(NSString *) responseType
201+
completionBlock:(void (^)(id, NSError *))completionBlock;
202202

203203
/**
204204
* Sanitize object for request

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

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -79,10 +79,10 @@ static {{classname}}* singletonAPI = nil;
7979
///
8080
/// {{/allParams}} @returns {{#returnType}}{{{returnType}}}{{/returnType}}{{^returnType}}void{{/returnType}}
8181
///
82-
-(NSNumber*) {{nickname}}WithCompletionBlock{{^allParams}}: {{/allParams}}{{#allParams}}{{#secondaryParam}} {{paramName}}{{/secondaryParam}}: ({{{dataType}}}) {{paramName}}
83-
{{/allParams}}
84-
{{#returnBaseType}}{{#hasParams}}completionHandler: {{/hasParams}}(void (^)({{{returnType}}} output, NSError* error))completionBlock { {{/returnBaseType}}
85-
{{^returnBaseType}}{{#hasParams}}completionHandler: {{/hasParams}}(void (^)(NSError* error))completionBlock { {{/returnBaseType}}
82+
-(NSNumber*) {{nickname}}{{^hasParams}}WithCompletionHandler: {{/hasParams}}{{#hasParams}}With{{firstParamAltName}}{{/hasParams}}{{#allParams}}{{#secondaryParam}}
83+
{{paramName}}{{/secondaryParam}}: ({{{dataType}}}) {{paramName}}{{/allParams}}
84+
{{#returnBaseType}}{{#hasParams}}completionHandler: {{/hasParams}}(void (^)({{{returnType}}} output, NSError* error)) handler { {{/returnBaseType}}
85+
{{^returnBaseType}}{{#hasParams}}completionHandler: {{/hasParams}}(void (^)(NSError* error)) handler { {{/returnBaseType}}
8686

8787
{{#allParams}}{{#required}}
8888
// verify the required parameter '{{paramName}}' is set
@@ -164,21 +164,21 @@ static {{classname}}* singletonAPI = nil;
164164
}
165165
{{/requiredParams}}
166166
{{/requiredParamCount}}
167-
return [self.apiClient requestWithCompletionBlock: resourcePath
168-
method: @"{{httpMethod}}"
169-
pathParams: pathParams
170-
queryParams: queryParams
171-
formParams: formParams
172-
files: files
173-
body: bodyParam
174-
headerParams: headerParams
175-
authSettings: authSettings
176-
requestContentType: requestContentType
177-
responseContentType: responseContentType
178-
responseType: {{^returnType}}nil{{/returnType}}{{#returnType}}@"{{{ returnType }}}"{{/returnType}}
179-
completionBlock: ^(id data, NSError *error) {
180-
{{^returnType}}completionBlock(error);{{/returnType}}
181-
{{#returnType}}completionBlock(({{{ returnType }}})data, error);{{/returnType}}
167+
return [self.apiClient requestWithPath: resourcePath
168+
method: @"{{httpMethod}}"
169+
pathParams: pathParams
170+
queryParams: queryParams
171+
formParams: formParams
172+
files: files
173+
body: bodyParam
174+
headerParams: headerParams
175+
authSettings: authSettings
176+
requestContentType: requestContentType
177+
responseContentType: responseContentType
178+
responseType: {{^returnType}}nil{{/returnType}}{{#returnType}}@"{{{ returnType }}}"{{/returnType}}
179+
completionBlock: ^(id data, NSError *error) {
180+
{{^returnType}}handler(error);{{/returnType}}
181+
{{#returnType}}handler(({{{ returnType }}})data, error);{{/returnType}}
182182
}
183183
];
184184
}

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

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,10 @@
3131
/// {{/allParams}}
3232
///
3333
/// @return {{{returnType}}}
34-
-(NSNumber*) {{nickname}}WithCompletionBlock {{^allParams}}:{{/allParams}}{{#allParams}}{{#secondaryParam}} {{paramName}}{{/secondaryParam}}:({{{dataType}}}) {{paramName}} {{#hasMore}}
35-
{{/hasMore}}{{/allParams}}
36-
{{#returnBaseType}}{{#hasParams}}
37-
completionHandler: {{/hasParams}}(void (^)({{{returnType}}} output, NSError* error))completionBlock;{{/returnBaseType}}
38-
{{^returnBaseType}}{{#hasParams}}
39-
completionHandler: {{/hasParams}}(void (^)(NSError* error))completionBlock;{{/returnBaseType}}
34+
-(NSNumber*) {{nickname}}{{^hasParams}}WithCompletionHandler: {{/hasParams}}{{#hasParams}}With{{firstParamAltName}}{{/hasParams}}{{#allParams}}{{#secondaryParam}}
35+
{{paramName}}{{/secondaryParam}}: ({{{dataType}}}) {{paramName}}{{/allParams}}
36+
{{#returnBaseType}}{{#hasParams}}completionHandler: {{/hasParams}}(void (^)({{{returnType}}} output, NSError* error)) handler;{{/returnBaseType}}
37+
{{^returnBaseType}}{{#hasParams}}completionHandler: {{/hasParams}}(void (^)(NSError* error)) handler;{{/returnBaseType}}
4038

4139
{{newline}}
4240
{{/operation}}

0 commit comments

Comments
 (0)