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 classPostmanCollectionCodegen.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, inlineSchemaNameMapping, inlineSchemaOption, inputSpec, instantiationTypes, JSON_MIME_PATTERN, JSON_VENDOR_MIME_PATTERN, languageSpecificPrimitives, legacyDiscriminatorBehavior, library, loadDeepObjectIntoItems, modelDocTemplateFiles, modelNameMapping, modelNamePrefix, modelNameSuffix, modelPackage, modelTemplateFiles, modelTestTemplateFiles, nameMapping, openAPI, openapiNormalizer, outputFolder, parameterNameMapping, 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, XML_MIME_PATTERN
-
-
Constructor Summary
Constructors Constructor Description PostmanCollectionCodegen()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringconvertToJson(com.fasterxml.jackson.databind.node.ObjectNode objectNode)StringconvertToJson(LinkedHashMap<String,Object> linkedHashMap)List<PostmanCollectionCodegen.PostmanRequestItem>createPostmanVariables(List<PostmanCollectionCodegen.PostmanRequestItem> postmanRequests)StringdoubleCurlyBraces(String str)StringescapeQuotationMark(String input)Escape single and/or double quote to avoid code injectionStringescapeReservedWord(String name)Escapes a reserved word as defined in the `reservedWords` array.StringescapeUnsafeCharacters(String input)override with any special text escaping logic to handle unsafe characters so as to avoid code injectionStringextractExampleByName(String ref)Set<String>extractPlaceholders(String input)Extract all placeholders (string delimited by curly braces ie {{PLACEHOLDER}}) from the input stringStringformatDescription(String description)Format text to include in JSON fileStringformatJson(String json)List<CodegenServerVariable>fromServerVariables(Map<String,io.swagger.v3.oas.models.servers.ServerVariable> variables)GeneratorLanguagegeneratorLanguage()String[]getAttributes(String json)StringgetHelp()Returns human-friendly help for the generator.StringgetJsonFromExample(io.swagger.v3.oas.models.examples.Example example)StringgetJsonFromSchema(CodegenParameter codegenParameter)StringgetName()Configures a friendly name for the generator.StringgetPostmanType(CodegenProperty codegenProperty)CodegenTypegetTag()Configures the type of generator.booleanisPostmanDynamicVariable(String value)StringmapToPostmanType(String openApiDataType)OperationsMappostProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels)Process and modify operations before generating codevoidpostProcessParameter(CodegenParameter parameter)voidpreprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI)voidprocessOpts()StringtoDefaultValue(io.swagger.v3.oas.models.media.Schema schema)Return the default value of the property-
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, 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, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isAnyTypeSchema, isDataTypeBinary, isDataTypeFile, isDataTypeString, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isJsonMimeType, isJsonVendorMimeType, isLibrary, isParameterNameUnique, isPropertyInnerMostEnum, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isReservedWord, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, isXmlMimeType, languageSpecificPrimitives, lowerCamelCase, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, modifyFeatureSet, nameMapping, needToImport, openapiNormalizer, outputFolder, parameterNameMapping, 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, 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, inlineSchemaNameMapping, inlineSchemaOption, instantiationTypes, isEnableMinimalUpdate, isEnablePostProcessFile, isHideGenerationTimestamp, isRemoveEnumValuePrefix, isRemoveOperationIdPrefix, isSkipOperationExample, isSkipOverwrite, isStrictSpecBehavior, languageSpecificPrimitives, modelDocFileFolder, modelDocTemplateFiles, modelFileFolder, modelFilename, modelNameMapping, modelPackage, modelTemplateFiles, modelTestFileFolder, modelTestTemplateFiles, nameMapping, openapiNormalizer, outputFolder, parameterNameMapping, 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:
getTagin interfaceCodegenConfig- Overrides:
getTagin classDefaultCodegen- Returns:
- the CodegenType for this generator
- See Also:
CodegenType
-
generatorLanguage
public GeneratorLanguage generatorLanguage()
- Specified by:
generatorLanguagein interfaceCodegenConfig- Overrides:
generatorLanguagein 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:
getNamein interfaceCodegenConfig- Overrides:
getNamein classDefaultCodegen- Returns:
- the friendly name for the generator
-
postProcessParameter
public void postProcessParameter(CodegenParameter parameter)
- Specified by:
postProcessParameterin interfaceCodegenConfig- Overrides:
postProcessParameterin classDefaultCodegen
-
preprocessOpenAPI
public void preprocessOpenAPI(io.swagger.v3.oas.models.OpenAPI openAPI)
- Specified by:
preprocessOpenAPIin interfaceCodegenConfig- Overrides:
preprocessOpenAPIin classDefaultCodegen
-
fromServerVariables
public List<CodegenServerVariable> fromServerVariables(Map<String,io.swagger.v3.oas.models.servers.ServerVariable> variables)
- Specified by:
fromServerVariablesin interfaceCodegenConfig- Overrides:
fromServerVariablesin classDefaultCodegen
-
processOpts
public void processOpts()
- Specified by:
processOptsin interfaceCodegenConfig- Overrides:
processOptsin classDefaultCodegen
-
postProcessOperationsWithModels
public OperationsMap postProcessOperationsWithModels(OperationsMap objs, List<ModelMap> allModels)
Process and modify operations before generating code- Specified by:
postProcessOperationsWithModelsin interfaceCodegenConfig- Overrides:
postProcessOperationsWithModelsin 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:
getHelpin interfaceCodegenConfig- Overrides:
getHelpin 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:
escapeReservedWordin interfaceCodegenConfig- Overrides:
escapeReservedWordin 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:
escapeUnsafeCharactersin interfaceCodegenConfig- Overrides:
escapeUnsafeCharactersin classDefaultCodegen- Parameters:
input- String to be cleaned up- Returns:
- string with unsafe characters removed or escaped
-
toDefaultValue
public String toDefaultValue(io.swagger.v3.oas.models.media.Schema schema)
Return the default value of the propertyReturn null when the default is not defined
- Overrides:
toDefaultValuein classDefaultCodegen- Parameters:
schema- Property schema- Returns:
- string presentation of the default value of the property
-
escapeQuotationMark
public String escapeQuotationMark(String input)
Escape single and/or double quote to avoid code injection- Specified by:
escapeQuotationMarkin interfaceCodegenConfig- Overrides:
escapeQuotationMarkin 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)
-
-