Skip to content
This repository was archived by the owner on Dec 25, 2024. It is now read-only.

Commit fc68736

Browse files
committed
v2 generate component parameters (#101)
* Adds code to generate component parameters * Generates first parameter component * Correctly sets refModule and modulePath * Regens samples * Do not generate parameter py files whn there is a ref * Removes form params and unneeded helper methods * Fixes java tests * Fixes parameter imports in endpoint definition * Adds link to component parameter schema in docs * Adds parameter content schema rendering in docs * Adds 2 new parameter components * Fixes header doc links to schemas * Adsusts refs * Samples regenerated
1 parent 4d1a4ff commit fc68736

File tree

43 files changed

+672
-324
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+672
-324
lines changed

bin/configs/python.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
generatorName: python
22
outputDir: samples/openapi3/client/petstore/python
3-
inputSpec: modules/openapi-json-schema-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing-with-http-signature.yaml
3+
inputSpec: modules/openapi-json-schema-generator/src/test/resources/3_0/python/petstore_customized.yaml
44
templateDir: modules/openapi-json-schema-generator/src/main/resources/python
55
additionalProperties:
66
packageName: petstore_api

modules/openapi-json-schema-generator/src/main/java/org/openapitools/codegen/CodegenConfig.java

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import io.swagger.v3.oas.models.Operation;
2323
import io.swagger.v3.oas.models.headers.Header;
2424
import io.swagger.v3.oas.models.media.Schema;
25+
import io.swagger.v3.oas.models.parameters.Parameter;
2526
import io.swagger.v3.oas.models.parameters.RequestBody;
2627
import io.swagger.v3.oas.models.responses.ApiResponse;
2728
import io.swagger.v3.oas.models.security.SecurityScheme;
@@ -88,6 +89,10 @@ public interface CodegenConfig {
8889

8990
String headerDocFileFolder();
9091

92+
String parameterFileFolder();
93+
94+
String parameterDocFileFolder();
95+
9196
String modelPackage();
9297

9398
String packageName();
@@ -180,6 +185,10 @@ public interface CodegenConfig {
180185

181186
Map<String, String> headerDocTemplateFiles();
182187

188+
Map<String, String> parameterTemplateFiles();
189+
190+
Map<String, String> parameterDocTemplateFiles();
191+
183192
Map<String, String> pathEndpointTemplateFiles();
184193

185194
Set<String> pathEndpointTestTemplateFiles();
@@ -244,9 +253,11 @@ public interface CodegenConfig {
244253

245254
String toHeaderFilename(String componentName);
246255

247-
String toPathFileName(String path);
256+
String toPathFilename(String path);
257+
258+
String toParameterFilename(String baseName);
248259

249-
String toParameterFileName(String baseName);
260+
String toParameterDocFilename(String componentName);
250261

251262
String toModelImport(String refClass);
252263

@@ -403,4 +414,6 @@ public interface CodegenConfig {
403414
CodegenResponse fromResponse(ApiResponse response, String sourceJsonPath);
404415

405416
CodegenHeader fromHeader(Header parameter, String sourceJsonPath);
417+
418+
CodegenParameter fromParameter(Parameter parameter, String sourceJsonPath);
406419
}

modules/openapi-json-schema-generator/src/main/java/org/openapitools/codegen/CodegenConstants.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,10 @@ public class CodegenConstants {
3333

3434
public static final String HEADERS = "headers";
3535
public static final String HEADER_DOCS = "headerDocs";
36+
37+
public static final String PARAMETERS = "parameters";
38+
39+
public static final String PARAMETER_DOCS = "parameterDocs";
3640
public static final String SUPPORTING_FILES = "supportingFiles";
3741
public static final String MODEL_TESTS = "modelTests";
3842
public static final String MODEL_DOCS = "modelDocs";

modules/openapi-json-schema-generator/src/main/java/org/openapitools/codegen/CodegenOperation.java

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ public class CodegenOperation {
3939
public List<CodegenParameter> queryParams = new ArrayList<CodegenParameter>();
4040
public List<CodegenParameter> headerParams = new ArrayList<CodegenParameter>();
4141
public List<CodegenParameter> implicitHeadersParams = new ArrayList<CodegenParameter>();
42-
public List<CodegenParameter> formParams = new ArrayList<CodegenParameter>();
4342
public List<CodegenParameter> cookieParams = new ArrayList<CodegenParameter>();
4443
public List<CodegenParameter> requiredParams = new ArrayList<CodegenParameter>();
4544
public List<CodegenParameter> optionalParams = new ArrayList<CodegenParameter>();
@@ -121,22 +120,13 @@ public boolean getHasPathParams() {
121120
return nonEmpty(pathParams);
122121
}
123122

124-
/**
125-
* Check if there's at least one form parameter
126-
*
127-
* @return true if any form parameter exists, false otherwise
128-
*/
129-
public boolean getHasFormParams() {
130-
return nonEmpty(formParams);
131-
}
132-
133123
/**
134124
* Check if there's at least one body parameter or at least one form parameter
135125
*
136126
* @return true if body or form parameter exists, false otherwise
137127
*/
138128
public boolean getHasBodyOrFormParams() {
139-
return getHasBodyParam() || getHasFormParams();
129+
return getHasBodyParam();
140130
}
141131

142132
/**
@@ -341,7 +331,6 @@ public String toString() {
341331
sb.append(", pathParams=").append(pathParams);
342332
sb.append(", queryParams=").append(queryParams);
343333
sb.append(", headerParams=").append(headerParams);
344-
sb.append(", formParams=").append(formParams);
345334
sb.append(", cookieParams=").append(cookieParams);
346335
sb.append(", requiredParams=").append(requiredParams);
347336
sb.append(", optionalParams=").append(optionalParams);
@@ -407,7 +396,6 @@ public boolean equals(Object o) {
407396
Objects.equals(pathParams, that.pathParams) &&
408397
Objects.equals(queryParams, that.queryParams) &&
409398
Objects.equals(headerParams, that.headerParams) &&
410-
Objects.equals(formParams, that.formParams) &&
411399
Objects.equals(cookieParams, that.cookieParams) &&
412400
Objects.equals(requiredParams, that.requiredParams) &&
413401
Objects.equals(optionalParams, that.optionalParams) &&
@@ -440,7 +428,7 @@ public int hashCode() {
440428
isRestful, isDeprecated, isCallbackRequest, uniqueItems, path, operationId, httpMethod,
441429
summary, unescapedNotes, notes, baseName, defaultResponse,
442430
consumes, produces, prioritizedContentTypes, servers, requestBody, allParams, bodyParams,
443-
pathParams, queryParams, headerParams, formParams, cookieParams, requiredParams, optionalParams,
431+
pathParams, queryParams, headerParams, cookieParams, requiredParams, optionalParams,
444432
authMethods, tags, responses, callbacks, imports, examples, requestBodyExamples, externalDocs,
445433
vendorExtensions, nickname, operationIdOriginal, operationIdLowerCase, operationIdCamelCase,
446434
operationIdSnakeCase, statusCodeResponses, wildcardCodeResponses,

0 commit comments

Comments
 (0)