Skip to content

Commit 3224e86

Browse files
authored
[Postman Collections] Keep original header name (#15907)
* Define baseName for Postman headers * Use header original name * Commit regenerated files
1 parent 22e1e4e commit 3224e86

5 files changed

Lines changed: 40 additions & 5 deletions

File tree

modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PostmanCollectionCodegen.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,6 +226,7 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<Mo
226226
// produces mediaType as `Accept` header (use first mediaType only)
227227
String mediaType = codegenOperation.produces.get(0).get("mediaType");
228228
CodegenParameter acceptHeader = new CodegenParameter();
229+
acceptHeader.baseName = "Accept";
229230
acceptHeader.paramName = "Accept";
230231
CodegenProperty schema = new CodegenProperty();
231232
schema.defaultValue = mediaType;
@@ -237,6 +238,8 @@ public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<Mo
237238
// consumes mediaType as `Content-Type` header (use first mediaType only)
238239
String mediaType = codegenOperation.consumes.get(0).get("mediaType");
239240
CodegenParameter contentTypeHeader = new CodegenParameter();
241+
242+
contentTypeHeader.baseName = "Content-Type";
240243
contentTypeHeader.paramName = "Content-Type";
241244
CodegenProperty schema = new CodegenProperty();
242245
schema.defaultValue = mediaType;

modules/openapi-generator/src/main/resources/postman-collection/item.mustache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"header": [
1111
{{#headerParams}}
1212
{
13-
"key": "{{paramName}}",
13+
"key": "{{baseName}}",
1414
"value": "{{schema.defaultValue}}"
1515
}{{^-last}},{{/-last}}
1616
{{/headerParams}}

modules/openapi-generator/src/test/java/org/openapitools/codegen/postman/PostmanCollectionCodegenTest.java

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,7 @@
66
import com.fasterxml.jackson.databind.node.ObjectNode;
77
import org.junit.Assert;
88
import org.junit.Test;
9-
import org.openapitools.codegen.ClientOptInput;
10-
import org.openapitools.codegen.CodegenParameter;
11-
import org.openapitools.codegen.CodegenProperty;
12-
import org.openapitools.codegen.DefaultGenerator;
9+
import org.openapitools.codegen.*;
1310
import org.openapitools.codegen.config.CodegenConfigurator;
1411
import org.openapitools.codegen.languages.PostmanCollectionCodegen;
1512

@@ -466,6 +463,32 @@ public void testSkipGeneratedVariables() throws IOException, Exception {
466463

467464
}
468465

466+
@Test
467+
public void testHeaderParameters() throws IOException {
468+
469+
File output = Files.createTempDirectory("postmantest_").toFile();
470+
output.deleteOnExit();
471+
472+
final CodegenConfigurator configurator = new CodegenConfigurator()
473+
.setGeneratorName("postman-collection")
474+
.setInputSpec("./src/test/resources/SampleProject.yaml")
475+
.setInputSpec("src/test/resources/3_0/postman-collection/SampleProject.yaml")
476+
.setOutputDir(output.getAbsolutePath().replace("\\", "/"));
477+
478+
final ClientOptInput clientOptInput = configurator.toClientOptInput();
479+
DefaultGenerator generator = new DefaultGenerator();
480+
List<File> files = generator.opts(clientOptInput).generate();
481+
482+
files.forEach(File::deleteOnExit);
483+
484+
Path path = Paths.get(output + "/postman.json");
485+
TestUtils.assertFileExists(path);
486+
TestUtils.assertFileContains(path, "{ \"key\": \"Content-Type\", \"value\": \"application/json\"");
487+
TestUtils.assertFileContains(path, "{ \"key\": \"Accept\", \"value\": \"application/json\"");
488+
TestUtils.assertFileContains(path, "{ \"key\": \"Custom-Header\", \"value\": \"null\"");
489+
}
490+
491+
469492
@Test
470493
public void testFormatDescription() {
471494

modules/openapi-generator/src/test/resources/3_0/postman-collection/SampleProject.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ paths:
4747
schema:
4848
type: string
4949
example: 888
50+
- description: Custom HTTP header
51+
name: Custom-Header
52+
in: header
53+
schema:
54+
type: string
5055

5156
responses:
5257
'200':

samples/schema/postman-collection/postman.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,10 @@
148148
{
149149
"key": "Accept",
150150
"value": "application/json"
151+
},
152+
{
153+
"key": "Custom-Header",
154+
"value": "null"
151155
}
152156
],
153157
"body": {

0 commit comments

Comments
 (0)