Class PostmanCollectionCodegen
- java.lang.Object
-
- org.openapitools.codegen.DefaultCodegen
-
- org.openapitools.codegen.languages.PostmanCollectionCodegen
-
- All Implemented Interfaces:
CodegenConfig
public class PostmanCollectionCodegen extends DefaultCodegen implements CodegenConfig
OpenAPI generator for Postman Collection format v2.1
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
PostmanCollectionCodegen.PostmanRequestItem
-
Field Summary
-
Fields inherited from class org.openapitools.codegen.DefaultCodegen
additionalProperties, addOneOfInterfaceImports, addOneOfInterfaces, addSuffixToDuplicateOperationNicknames, allowUnicodeIdentifiers, apiDocTemplateFiles, apiNamePrefix, apiNameSuffix, apiPackage, apiTemplateFiles, apiTestTemplateFiles, cliOptions, DefaultFeatureSet, defaultIncludes, disallowAdditionalPropertiesIfNotPresent, docExtension, embeddedTemplateDir, enableMinimalUpdate, enablePostProcessFile, ensureUniqueParams, enumUnknownDefaultCase, enumUnknownDefaultCaseName, falseSchema, filesMetadataFilename, fileSuffix, generatorMetadata, gitHost, gitRepoId, gitUserId, hideGenerationTimestamp, httpUserAgent, ignoreFilePathOverride, importBaseType, importContainerType, importMapping, inlineSchemaNameDefault, inlineSchemaNameMapping, inputSpec, instantiationTypes, JSON_MIME_PATTERN, JSON_VENDOR_MIME_PATTERN, languageSpecificPrimitives, legacyDiscriminatorBehavior, library, loadDeepObjectIntoItems, modelDocTemplateFiles, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, openAPI, openapiNormalizer, outputFolder, prependFormOrBodyParameters, releaseNote, removeEnumValuePrefix, removeOperationIdPrefix, removeOperationIdPrefixCount, removeOperationIdPrefixDelimiter, reservedWords, reservedWordsMappings, schemaMapping, serverVariables, skipOperationExample, skipOverwrite, sortModelPropertiesByRequiredFlag, sortParamsByRequiredFlag, specialCharReplacements, strictSpecBehavior, supportedLibraries, supportingFiles, supportsAdditionalPropertiesWithComposedSchema, supportsInheritance, supportsMixins, supportsMultipleInheritance, templateDir, testPackage, trueSchema, typeAliases, typeMapping, useOneOfInterfaces, vendorExtensions, versionMetadataFilename
-
-
Constructor Summary
Constructors Constructor Description PostmanCollectionCodegen()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
convertToJson(com.fasterxml.jackson.databind.node.ObjectNode objectNode)
String
convertToJson(LinkedHashMap<String,Object> linkedHashMap)
List<PostmanCollectionCodegen.PostmanRequestItem>
createPostmanVariables(List<PostmanCollectionCodegen.PostmanRequestItem> postmanRequests)
String
doubleCurlyBraces(String str)
String
escapeQuotationMark(String input)
Escape single and/or double quote to avoid code injectionString
escapeReservedWord(String name)
Escapes a reserved word as defined in the `reservedWords` array.String
escapeUnsafeCharacters(String input)
override with any special text escaping logic to handle unsafe characters so as to avoid code injectionString
extractExampleByName(String ref)
Set<String>
extractPlaceholders(String input)
Extract all placeholders (string delimited by curly braces ie {{PLACEHOLDER}}) from the input stringString
formatDescription(String description)
Format text to include in JSON fileString
formatJson(String json)
List<CodegenServerVariable>
fromServerVariables(Map<String,io.swagger.v3.oas.models.servers.ServerVariable> variables)
GeneratorLanguage
generatorLanguage()
String[]
getAttributes(String json)
String
getHelp()
Returns human-friendly help for the generator.String
getJsonFromExample(io.swagger.v3.oas.models.examples.Example example)
String
getJsonFromSchema(CodegenParameter codegenParameter)
String
getName()
Configures a friendly name for the generator.String
getPostmanType(CodegenProperty codegenProperty)
CodegenType
getTag()
Configures the type of generator.boolean
isPostmanDynamicVariable(String value)
String
mapToPostmanType(String openApiDataType)
OperationsMap
postProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels)
Process and modify operations before generating codevoid
postProcessParameter(CodegenParameter parameter)
void
preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI)
void
processOpts()
-
Methods inherited from class org.openapitools.codegen.DefaultCodegen
addAdditionPropertiesToCodeGenModel, addBodyModelSchema, addHeaders, addImport, addImport, addImport, addImports, addImports, addImports, addImportsForPropertyType, addImportsToOneOfInterface, additionalProperties, addMustacheLambdas, addOneOfInterfaceModel, addOneOfNameExtension, addOperationToGroup, addOption, addOption, addParentContainer, addProperties, addRegularExpressionDelimiter, addRequiredVarsMap, addSwitch, addVars, addVars, addVarsRequiredVarsAdditionalProps, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFileFolder, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, buildEnumVars, buildLibraryCliOption, cliOptions, convertPropertyToBoolean, convertPropertyToBooleanAndWriteBack, createDiscriminator, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, findCommonPrefixOfVars, findMethodResponse, fromCallback, fromFormProperty, fromModel, fromOperation, fromParameter, fromProperty, fromProperty, fromProperty, fromRequestBody, fromRequestBodyToFormParameters, fromResponse, fromSecurity, fromServers, generateExamplePath, generateJSONSpecFile, generateYAMLSpecFile, generatorLanguageVersion, getAdditionalProperties, getAdditionalPropertiesName, getAddSuffixToDuplicateOperationNicknames, getAlias, getAllModels, getAllOfDescendants, getAllowUnicodeIdentifiers, getApiNamePrefix, getApiNameSuffix, getCollectionFormat, getCollectionFormat, getConsumesInfo, getContent, getContentType, getDisallowAdditionalPropertiesIfNotPresent, getDocExtension, getEnsureUniqueParams, getEnumDefaultValue, getEnumUnknownDefaultCase, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInnerEnumAllowableValues, getInputSpec, getItemsName, getLegacyDiscriminatorBehavior, getLibrary, getModelNamePrefix, getModelNameSuffix, getModelNameToSchemaCache, getMostInnerItems, getOneOfAnyOfDescendants, getOrGenerateOperationId, getOutputDir, getParameterDataType, getPrependFormOrBodyParameters, getProducesInfo, getReleaseNote, getRemoveOperationIdPrefixCount, getRemoveOperationIdPrefixDelimiter, getSchemaAdditionalProperties, getSchemaFromBooleanOrSchema, getSchemaItems, getSchemaType, getSingleSchemaType, getSortModelPropertiesByRequiredFlag, getSortParamsByRequiredFlag, getSupportedVendorExtensions, getSymbolName, getTemplatingEngine, getterAndSetterCapitalize, getTypeDeclaration, getTypeDeclaration, getUseInlineModelResolver, getUseOneOfInterfaces, getUseOpenAPINormalizer, getVersionMetadataFilename, handleMethodResponse, handleMethodResponse, handleSpecialCharacters, hasBodyParameter, hasFormParameter, importMapping, initializeSpecialCharacterMapping, inlineSchemaNameDefault, inlineSchemaNameMapping, instantiationTypes, isAnyTypeSchema, isDataTypeBinary, isDataTypeFile, isDataTypeString, isEnableMinimalUpdate, isEnablePostProcessFile, isFreeFormObject, isHideGenerationTimestamp, isJsonMimeType, isJsonVendorMimeType, isLibrary, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isReservedWord, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, lowerCamelCase, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelFilename, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, modifyFeatureSet, needToImport, openapiNormalizer, outputFolder, postProcess, postProcessAllModels, postProcessFile, postProcessModelProperty, postProcessModels, postProcessModelsEnum, postProcessSupportingFileData, processCompiler, processOpenAPI, processTemplatingEngine, processTestExampleData, removeImport, removeNonNameElementToCamelCase, removeNonNameElementToCamelCase, removeOption, removeSelfReferenceImports, reservedWords, reservedWordsMappings, sanitizeName, sanitizeName, sanitizeName, sanitizeTag, schemaMapping, serverVariableOverrides, setAddProps, setAllowUnicodeIdentifiers, setApiNamePrefix, setApiNameSuffix, setApiPackage, setCircularReferences, setDisallowAdditionalPropertiesIfNotPresent, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setEnsureUniqueParams, setEnumUnknownDefaultCase, setFilesMetadataFilename, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLegacyDiscriminatorBehavior, setLibrary, setModelNamePrefix, setModelNameSuffix, setModelPackage, setNonArrayMapProperty, setOpenAPI, setOutputDir, setParameterBooleanFlagWithCodegenProperty, setParameterEncodingValues, setParameterExamples, setParameterExampleValue, setParameterExampleValue, setParameterExampleValue, setParameterNullable, setPrependFormOrBodyParameters, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setRemoveOperationIdPrefixCount, setRemoveOperationIdPrefixDelimiter, setReservedWordsLowerCase, setSkipOperationExample, setSkipOverwrite, setSortModelPropertiesByRequiredFlag, setSortParamsByRequiredFlag, setStrictSpecBehavior, setTemplateDir, setTemplatingEngine, setUseOneOfInterfaces, setVersionMetadataFilename, shouldAddImport, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toAllOfName, toAnyOfName, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiTestFilename, toApiVarName, toArrayModelParamName, toBooleanGetter, toDefaultParameterValue, toDefaultParameterValue, toDefaultValue, toDefaultValue, toDefaultValueWithParam, toEnumDefaultValue, toEnumName, toEnumValue, toEnumVarName, toExamples, toExampleValue, toGetter, toInstantiationType, toMediaTypeSchemaName, toModelDocFilename, toModelFilename, toModelImport, toModelImportMap, toModelName, toModelTestFilename, toOneOfName, toOperationId, toParamName, toRegularExpression, toSetter, toTestCaseName, toVarName, typeMapping, unaliasPropertySchema, unaliasSchema, updateAllModels, updateCodegenPropertyEnum, updateDataTypeWithEnumForArray, updateDataTypeWithEnumForMap, updateEnumVarsWithExtensions, updateModelForAnyType, updateModelForComposedSchema, updateModelForInteger, updateModelForNumber, updateModelForObject, updateModelForString, updateOption, updateParameterForString, updatePropertyForAnyType, updatePropertyForArray, updatePropertyForInteger, updatePropertyForMap, updatePropertyForMap, updatePropertyForNumber, updatePropertyForObject, updatePropertyForString, updateRequestBodyForArray, updateRequestBodyForMap, updateRequestBodyForObject, updateRequestBodyForPrimitiveType, updateRequestBodyForString, vendorExtensions, writePropertyBack
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.openapitools.codegen.CodegenConfig
additionalProperties, addOperationToGroup, apiDocFileFolder, apiDocFilename, apiDocTemplateFiles, apiFileFolder, apiFilename, apiPackage, apiTemplateFiles, apiTestFileFolder, apiTestFilename, apiTestTemplateFiles, cliOptions, defaultIncludes, defaultTemplatingEngine, embeddedTemplateDir, encodePath, escapeText, escapeTextWhileAllowingNewLines, fileSuffix, fromModel, fromOperation, fromSecurity, fromServers, generateExamplePath, generatorLanguageVersion, getAddSuffixToDuplicateOperationNicknames, getDocExtension, getFeatureSet, getFilesMetadataFilename, getGeneratorMetadata, getGitHost, getGitRepoId, getGitUserId, getHttpUserAgent, getIgnoreFilePathOverride, getInputSpec, getLibrary, getOutputDir, getReleaseNote, getSupportedVendorExtensions, getTemplatingEngine, getTypeDeclaration, getTypeDeclaration, getUseInlineModelResolver, getUseOpenAPINormalizer, getVersionMetadataFilename, importMapping, inlineSchemaNameDefault, inlineSchemaNameMapping, instantiationTypes, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelFilename, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, openapiNormalizer, outputFolder, postProcess, postProcessAllModels, postProcessFile, postProcessModelProperty, postProcessModels, postProcessSupportingFileData, processCompiler, processOpenAPI, processTemplatingEngine, reservedWords, reservedWordsMappings, sanitizeName, sanitizeTag, schemaMapping, serverVariableOverrides, setDocExtension, setEnableMinimalUpdate, setEnablePostProcessFile, setGitHost, setGitRepoId, setGitUserId, setHideGenerationTimestamp, setHttpUserAgent, setIgnoreFilePathOverride, setInputSpec, setLibrary, setOpenAPI, setOutputDir, setReleaseNote, setRemoveEnumValuePrefix, setRemoveOperationIdPrefix, setSkipOperationExample, setSkipOverwrite, setStrictSpecBehavior, setTemplatingEngine, shouldOverwrite, supportedLibraries, supportingFiles, templateDir, testPackage, toApiDocFilename, toApiFilename, toApiImport, toApiName, toApiTestFilename, toApiVarName, toBooleanGetter, toGetter, toModelDocFilename, toModelFilename, toModelImport, toModelImportMap, toModelName, toModelTestFilename, toParamName, toSetter, typeMapping, unaliasSchema, updateAllModels, vendorExtensions
-
-
-
-
Field Detail
-
apiVersion
protected String apiVersion
-
FOLDER_STRATEGY
public static final String FOLDER_STRATEGY
- See Also:
- Constant Field Values
-
FOLDER_STRATEGY_DEFAULT_VALUE
public static final String FOLDER_STRATEGY_DEFAULT_VALUE
- See Also:
- Constant Field Values
-
PATH_PARAMS_AS_VARIABLES
public static final String PATH_PARAMS_AS_VARIABLES
- See Also:
- Constant Field Values
-
PATH_PARAMS_AS_VARIABLES_DEFAULT_VALUE
public static final Boolean PATH_PARAMS_AS_VARIABLES_DEFAULT_VALUE
-
POSTMAN_FILE_DEFAULT_VALUE
public static final String POSTMAN_FILE_DEFAULT_VALUE
- See Also:
- Constant Field Values
-
POSTMAN_VARIABLES
public static final String POSTMAN_VARIABLES
- See Also:
- Constant Field Values
-
postmanVariables
protected Boolean postmanVariables
-
POSTMAN_GUID
public static final String POSTMAN_GUID
- See Also:
- Constant Field Values
-
postmanGuid
protected Boolean postmanGuid
-
POSTMAN_GUID_PLACEHOLDER_NAME
public static final String POSTMAN_GUID_PLACEHOLDER_NAME
- See Also:
- Constant Field Values
-
POSTMAN_GUID_PLACEHOLDER_NAME_DEFAULT_VALUE
protected static final String POSTMAN_GUID_PLACEHOLDER_NAME_DEFAULT_VALUE
- See Also:
- Constant Field Values
-
postmanGuidPlaceholderName
protected static String postmanGuidPlaceholderName
-
postmanIsoTimestamp
protected Boolean postmanIsoTimestamp
-
POSTMAN_ISO_TIMESTAMP
public static final String POSTMAN_ISO_TIMESTAMP
- See Also:
- Constant Field Values
-
POSTMAN_ISO_TIMESTAMP_PLACEHOLDER_NAME
public static final String POSTMAN_ISO_TIMESTAMP_PLACEHOLDER_NAME
- See Also:
- Constant Field Values
-
POSTMAN_ISO_TIMESTAMP_PLACEHOLDER_NAME_DEFAULT_VALUE
public static final String POSTMAN_ISO_TIMESTAMP_PLACEHOLDER_NAME_DEFAULT_VALUE
- See Also:
- Constant Field Values
-
postmanIsoTimestampPlaceholderName
protected static String postmanIsoTimestampPlaceholderName
-
REQUEST_PARAMETER_GENERATION
public static final String REQUEST_PARAMETER_GENERATION
- See Also:
- Constant Field Values
-
REQUEST_PARAMETER_GENERATION_DEFAULT_VALUE
public static final String REQUEST_PARAMETER_GENERATION_DEFAULT_VALUE
- See Also:
- Constant Field Values
-
folderStrategy
public String folderStrategy
-
pathParamsAsVariables
protected Boolean pathParamsAsVariables
-
postmanFile
public String postmanFile
-
requestParameterGeneration
protected String requestParameterGeneration
-
variables
public Set<org.openapitools.codegen.languages.PostmanCollectionCodegen.PostmanVariable> variables
-
JSON_ESCAPE_DOUBLE_QUOTE
public static final String JSON_ESCAPE_DOUBLE_QUOTE
- See Also:
- Constant Field Values
-
JSON_ESCAPE_NEW_LINE
public static final String JSON_ESCAPE_NEW_LINE
- See Also:
- Constant Field Values
-
codegenOperationsByTag
protected Map<String,List<CodegenOperation>> codegenOperationsByTag
-
codegenOperationsList
protected List<CodegenOperation> codegenOperationsList
-
-
Method Detail
-
getTag
public CodegenType getTag()
Configures the type of generator.- Specified by:
getTag
in interfaceCodegenConfig
- Overrides:
getTag
in classDefaultCodegen
- Returns:
- the CodegenType for this generator
- See Also:
CodegenType
-
generatorLanguage
public GeneratorLanguage generatorLanguage()
- Specified by:
generatorLanguage
in interfaceCodegenConfig
- Overrides:
generatorLanguage
in classDefaultCodegen
-
getName
public String getName()
Configures a friendly name for the generator. This will be used by the generator to select the library with the -g flag.- Specified by:
getName
in interfaceCodegenConfig
- Overrides:
getName
in classDefaultCodegen
- Returns:
- the friendly name for the generator
-
postProcessParameter
public void postProcessParameter(CodegenParameter parameter)
- Specified by:
postProcessParameter
in interfaceCodegenConfig
- Overrides:
postProcessParameter
in classDefaultCodegen
-
preprocessOpenAPI
public void preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI)
- Specified by:
preprocessOpenAPI
in interfaceCodegenConfig
- Overrides:
preprocessOpenAPI
in classDefaultCodegen
-
fromServerVariables
public List<CodegenServerVariable> fromServerVariables(Map<String,io.swagger.v3.oas.models.servers.ServerVariable> variables)
- Specified by:
fromServerVariables
in interfaceCodegenConfig
- Overrides:
fromServerVariables
in classDefaultCodegen
-
processOpts
public void processOpts()
- Specified by:
processOpts
in interfaceCodegenConfig
- Overrides:
processOpts
in classDefaultCodegen
-
postProcessOperationsWithModels
public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels)
Process and modify operations before generating code- Specified by:
postProcessOperationsWithModels
in interfaceCodegenConfig
- Overrides:
postProcessOperationsWithModels
in classDefaultCodegen
-
createPostmanVariables
public List<PostmanCollectionCodegen.PostmanRequestItem> createPostmanVariables(List<PostmanCollectionCodegen.PostmanRequestItem> postmanRequests)
-
getHelp
public String getHelp()
Returns human-friendly help for the generator. Provide the consumer with help tips, parameters here- Specified by:
getHelp
in interfaceCodegenConfig
- Overrides:
getHelp
in classDefaultCodegen
- Returns:
- A string value for the help message
-
escapeReservedWord
public String escapeReservedWord(String name)
Escapes a reserved word as defined in the `reservedWords` array. Handle escaping those terms here. This logic is only called if a variable matches the reserved words- Specified by:
escapeReservedWord
in interfaceCodegenConfig
- Overrides:
escapeReservedWord
in classDefaultCodegen
- Parameters:
name
- the name to be escaped- Returns:
- the escaped term
-
escapeUnsafeCharacters
public String escapeUnsafeCharacters(String input)
override with any special text escaping logic to handle unsafe characters so as to avoid code injection- Specified by:
escapeUnsafeCharacters
in interfaceCodegenConfig
- Overrides:
escapeUnsafeCharacters
in classDefaultCodegen
- Parameters:
input
- String to be cleaned up- Returns:
- string with unsafe characters removed or escaped
-
escapeQuotationMark
public String escapeQuotationMark(String input)
Escape single and/or double quote to avoid code injection- Specified by:
escapeQuotationMark
in interfaceCodegenConfig
- Overrides:
escapeQuotationMark
in classDefaultCodegen
- Parameters:
input
- String to be cleaned up- Returns:
- string with quotation mark removed or escaped
-
formatDescription
public String formatDescription(String description)
Format text to include in JSON file- Parameters:
description
- Text to format- Returns:
- Formatted text
-
extractPlaceholders
public Set<String> extractPlaceholders(String input)
Extract all placeholders (string delimited by curly braces ie {{PLACEHOLDER}}) from the input string- Parameters:
input
- String containing the placeholders- Returns:
- Set of placeholders found in the string
-
isPostmanDynamicVariable
public boolean isPostmanDynamicVariable(String value)
-
getJsonFromSchema
public String getJsonFromSchema(CodegenParameter codegenParameter)
-
getJsonFromExample
public String getJsonFromExample(io.swagger.v3.oas.models.examples.Example example)
-
convertToJson
public String convertToJson(com.fasterxml.jackson.databind.node.ObjectNode objectNode)
-
convertToJson
public String convertToJson(LinkedHashMap<String,Object> linkedHashMap)
-
getPostmanType
public String getPostmanType(CodegenProperty codegenProperty)
-
-