Skip to content

Commit a892f5e

Browse files
authored
Merge pull request #1229 from swagger-api/luca-vercelli-issue-1173
Luca vercelli issue 1173
2 parents b66bdf0 + de04ca9 commit a892f5e

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2517,6 +2517,8 @@ public CodegenParameter fromParameter(Parameter parameter, Set<String> imports)
25172517
codegenParameter.dataType = codegenProperty.datatype;
25182518
codegenParameter.dataFormat = codegenProperty.dataFormat;
25192519

2520+
setParameterJson(codegenParameter, parameterSchema);
2521+
25202522
if (getBooleanValue(codegenProperty, IS_ENUM_EXT_NAME)) {
25212523
codegenParameter.datatypeWithEnum = codegenProperty.datatypeWithEnum;
25222524
codegenParameter.enumName = codegenProperty.enumName;
@@ -4407,6 +4409,14 @@ protected void setParameterNullable(CodegenParameter parameter, CodegenProperty
44074409
parameter.nullable = property.nullable;
44084410
}
44094411

4412+
protected void setParameterJson(CodegenParameter codegenParameter, Schema parameterSchema) {
4413+
String contentType = parameterSchema.getExtensions() == null ? null : (String) parameterSchema.getExtensions().get("x-content-type");
4414+
if (contentType != null && contentType.startsWith("application/") && contentType.endsWith("json")) {
4415+
// application/json, application/problem+json, application/ld+json, some more?
4416+
codegenParameter.isJson = true;
4417+
}
4418+
}
4419+
44104420
protected boolean isFileTypeSchema(Schema schema) {
44114421
final Schema fileTypeSchema;
44124422
if (StringUtils.isNotBlank(schema.get$ref())) {

src/main/resources/handlebars/typescript-angular/api.service.mustache

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,12 @@ export class {{classname}} {
175175
{{#useHttpClient}}queryParameters = {{/useHttpClient}}queryParameters.set('{{baseName}}', <any>{{paramName}}.toISOString());
176176
{{/isDateTime}}
177177
{{^isDateTime}}
178+
{{#isJson}}
179+
{{#useHttpClient}}queryParameters = {{/useHttpClient}}queryParameters.set('{{baseName}}', JSON.stringify({{paramName}}));
180+
{{/isJson}}
181+
{{^isJson}}
178182
{{#useHttpClient}}queryParameters = {{/useHttpClient}}queryParameters.set('{{baseName}}', <any>{{paramName}});
183+
{{/isJson}}
179184
{{/isDateTime}}
180185
}
181186
{{/isListContainer}}

0 commit comments

Comments
 (0)