Interface OpenApiSpec

All Known Subinterfaces:
OpenApiClientSpec, OpenApiServerSpec

public interface OpenApiSpec
  • Method Details

    • getLang

      org.gradle.api.provider.Property<String> getLang()
      Source language generated from the OpenAPI definition.

      Defaults to "java". Set to "kotlin" for Kotlin sources.

      Returns:
      the generated source language
    • getInvokerPackageName

      org.gradle.api.provider.Property<String> getInvokerPackageName()
      Invoker package used by generated support classes.

      Defaults to "io.micronaut.openapi".

      Returns:
      the generated invoker package
    • getApiPackageName

      org.gradle.api.provider.Property<String> getApiPackageName()
      Package used by generated API types.

      Defaults to "io.micronaut.openapi.api".

      Returns:
      the generated API package
    • getModelPackageName

      org.gradle.api.provider.Property<String> getModelPackageName()
      Package used by generated model types.

      Defaults to "io.micronaut.openapi.model".

      Returns:
      the generated model package
    • getUseBeanValidation

      org.gradle.api.provider.Property<Boolean> getUseBeanValidation()
      Whether generated models and operation parameters include Bean Validation annotations.

      Defaults to true. Generated validation annotations require the usual Micronaut Validation dependencies in the consuming project.

      Returns:
      whether Bean Validation annotations are generated
    • getUseOneOfInterfaces

      org.gradle.api.provider.Property<Boolean> getUseOneOfInterfaces()
      Whether generated schemas that use oneOf should also generate Java or Kotlin interfaces.

      Defaults to true.

      Returns:
      whether oneOf interfaces are generated
    • getUseOptional

      org.gradle.api.provider.Property<Boolean> getUseOptional()
      Whether optional schema properties should use Optional-style wrappers where supported by the selected generator.

      Defaults to false.

      Returns:
      whether optional wrappers are generated
    • getUseReactive

      org.gradle.api.provider.Property<Boolean> getUseReactive()
      Whether generated operations use reactive types.

      Defaults to true. When a Java plugin is present, the Gradle plugin adds Reactor Core as a supporting dependency for this option.

      Returns:
      whether reactive types are generated
    • getSerializationFramework

      org.gradle.api.provider.Property<String> getSerializationFramework()
      Serialization library used by generated code.

      Defaults to "MICRONAUT_SERDE_JACKSON".

      Returns:
      the serialization framework name
    • getAlwaysUseGenerateHttpResponse

      org.gradle.api.provider.Property<Boolean> getAlwaysUseGenerateHttpResponse()
      Whether generated operations always return HttpResponse.

      Defaults to false.

      Returns:
      whether all generated operations return HttpResponse
    • getGenerateHttpResponseWhereRequired

      org.gradle.api.provider.Property<Boolean> getGenerateHttpResponseWhereRequired()
      Whether generated operations return HttpResponse only when the OpenAPI response metadata requires it.

      Defaults to true.

      Returns:
      whether required responses use HttpResponse
    • getLombok

      org.gradle.api.provider.Property<Boolean> getLombok()
      Whether generated Java sources use Lombok annotations.

      Defaults to false. When enabled for Java generation, the Gradle plugin adds Lombok to compileOnly.

      Returns:
      whether Lombok annotations are generated
    • getNoArgsConstructor

      org.gradle.api.provider.Property<Boolean> getNoArgsConstructor()
      Whether generated models include no-argument constructors.

      Defaults to false.

      Returns:
      whether no-argument constructors are generated
    • getKsp

      org.gradle.api.provider.Property<Boolean> getKsp()
      Whether generated Kotlin sources should be prepared for KSP.

      Defaults to false. This option applies to Kotlin generation.

      Returns:
      whether KSP-oriented Kotlin code is generated
    • getGeneratedAnnotation

      org.gradle.api.provider.Property<Boolean> getGeneratedAnnotation()
      Whether generated sources include @Generated annotations.

      Defaults to true.

      Returns:
      whether generated annotations are emitted
    • getFluxForArrays

      org.gradle.api.provider.Property<Boolean> getFluxForArrays()
      Whether array responses use Reactor Flux in generated reactive code.

      Defaults to false.

      Returns:
      whether arrays are generated as Flux
    • getDateTimeFormat

      org.gradle.api.provider.Property<String> getDateTimeFormat()
      Date-time representation used by generated code.

      Defaults to "ZONED_DATETIME".

      Returns:
      the date-time format option
    • getParameterMappings

      org.gradle.api.provider.ListProperty<ParameterMappingModel> getParameterMappings()
      Parameter mappings applied during generation.

      Mappings can add, rename, remap, or remove operation parameters before source files are emitted.

      Returns:
      parameter mappings for generated operations
    • getResponseBodyMappings

      org.gradle.api.provider.ListProperty<ResponseBodyMappingModel> getResponseBodyMappings()
      Response body mappings applied during generation.

      Mappings can change how selected response bodies are represented in generated operation signatures.

      Returns:
      response body mappings for generated operations
    • getSchemaMapping

      org.gradle.api.provider.MapProperty<String,String> getSchemaMapping()
      Schema-name mappings passed to the Micronaut OpenAPI generator.
      Returns:
      schema-name mappings
    • getImportMapping

      org.gradle.api.provider.MapProperty<String,String> getImportMapping()
      Import mappings passed to the Micronaut OpenAPI generator.
      Returns:
      import mappings
    • getNameMapping

      org.gradle.api.provider.MapProperty<String,String> getNameMapping()
      Name mappings passed to the Micronaut OpenAPI generator.
      Returns:
      name mappings
    • getTypeMapping

      org.gradle.api.provider.MapProperty<String,String> getTypeMapping()
      Type mappings passed to the Micronaut OpenAPI generator.
      Returns:
      type mappings
    • getEnumNameMapping

      org.gradle.api.provider.MapProperty<String,String> getEnumNameMapping()
      Enum-name mappings passed to the Micronaut OpenAPI generator.
      Returns:
      enum-name mappings
    • getModelNameMapping

      org.gradle.api.provider.MapProperty<String,String> getModelNameMapping()
      Model-name mappings passed to the Micronaut OpenAPI generator.
      Returns:
      model-name mappings
    • getInlineSchemaNameMapping

      org.gradle.api.provider.MapProperty<String,String> getInlineSchemaNameMapping()
      Inline schema name mappings passed to the Micronaut OpenAPI generator.
      Returns:
      inline schema name mappings
    • getInlineSchemaOption

      org.gradle.api.provider.MapProperty<String,String> getInlineSchemaOption()
      Inline schema options passed to the Micronaut OpenAPI generator.
      Returns:
      inline schema options
    • getOpenapiNormalizer

      org.gradle.api.provider.MapProperty<String,String> getOpenapiNormalizer()
      OpenAPI normalizer options passed to the Micronaut OpenAPI generator.
      Returns:
      OpenAPI normalizer options
    • getApiNamePrefix

      org.gradle.api.provider.Property<String> getApiNamePrefix()
      Prefix added to generated API type names.

      Defaults to the empty string.

      Returns:
      the generated API name prefix
    • getApiNameSuffix

      org.gradle.api.provider.Property<String> getApiNameSuffix()
      Suffix added to generated API type names.

      Defaults to the empty string.

      Returns:
      the generated API name suffix
    • getModelNamePrefix

      org.gradle.api.provider.Property<String> getModelNamePrefix()
      Prefix added to generated model type names.

      Defaults to the empty string.

      Returns:
      the generated model name prefix
    • getModelNameSuffix

      org.gradle.api.provider.Property<String> getModelNameSuffix()
      Suffix added to generated model type names.

      Defaults to the empty string.

      Returns:
      the generated model name suffix
    • getUseEnumCaseInsensitive

      org.gradle.api.provider.Property<Boolean> getUseEnumCaseInsensitive()
      Whether generated enum deserialization should be case-insensitive.

      Defaults to false.

      Returns:
      whether enums are case-insensitive
    • getGenerateSwaggerAnnotations

      org.gradle.api.provider.Property<Boolean> getGenerateSwaggerAnnotations()
      Whether generated sources include Swagger annotations.

      Defaults to false.

      Returns:
      whether Swagger annotations are generated
    • getImplicitHeaders

      org.gradle.api.provider.Property<Boolean> getImplicitHeaders()
      Whether implicit headers are generated for operations.

      Defaults to false. Use getImplicitHeadersRegex() to restrict which headers are treated as implicit.

      Returns:
      whether implicit headers are generated
    • getImplicitHeadersRegex

      org.gradle.api.provider.Property<String> getImplicitHeadersRegex()
      Regular expression used to select implicit headers.

      Defaults to the empty string.

      Returns:
      the implicit headers regular expression
    • getAdditionalEnumTypeAnnotations

      org.gradle.api.provider.ListProperty<String> getAdditionalEnumTypeAnnotations()
      Additional annotations added to generated enum types.
      Returns:
      annotations added to generated enum types
    • getAdditionalModelTypeAnnotations

      org.gradle.api.provider.ListProperty<String> getAdditionalModelTypeAnnotations()
      Additional annotations added to generated model types.
      Returns:
      annotations added to generated model types
    • getAdditionalOneOfTypeAnnotations

      org.gradle.api.provider.ListProperty<String> getAdditionalOneOfTypeAnnotations()
      Additional annotations added to generated oneOf interface types.
      Returns:
      annotations added to generated oneOf types
    • getAdditionalProperties

      org.gradle.api.provider.MapProperty<String,Object> getAdditionalProperties()
      Additional generator properties passed through to Micronaut OpenAPI.

      Use this for generator options that do not yet have a dedicated Gradle DSL property.

      Returns:
      additional generator properties
    • getUseJakartaEe

      org.gradle.api.provider.Property<Boolean> getUseJakartaEe()
      Whether generated code should use Jakarta EE package names.

      Defaults to true.

      Returns:
      whether Jakarta EE package names are used
    • getSortParamsByRequiredFlag

      org.gradle.api.provider.Property<Boolean> getSortParamsByRequiredFlag()
      Whether generated operation parameters are sorted by required status.

      Defaults to true.

      Returns:
      whether parameters are sorted by required status
    • getSkipOperationExample

      org.gradle.api.provider.Property<Boolean> getSkipOperationExample()
      Whether generated operation examples are skipped.

      Defaults to false.

      Returns:
      whether operation examples are skipped
    • getSkipSortingOperations

      org.gradle.api.provider.Property<Boolean> getSkipSortingOperations()
      Whether generated operations keep the OpenAPI declaration order instead of applying generator sorting.

      Defaults to false.

      Returns:
      whether operation sorting is skipped
    • getRemoveOperationIdPrefixDelimiter

      org.gradle.api.provider.Property<String> getRemoveOperationIdPrefixDelimiter()
      Delimiter used when removing prefixes from OpenAPI operation ids.

      Defaults to "_".

      Returns:
      the operation-id prefix delimiter
    • getRemoveOperationIdPrefixCount

      org.gradle.api.provider.Property<Integer> getRemoveOperationIdPrefixCount()
      Number of operation-id prefix segments to remove.

      Defaults to 1.

      Returns:
      the number of operation-id prefix segments to remove
    • getSortModelPropertiesByRequiredFlag

      org.gradle.api.provider.Property<Boolean> getSortModelPropertiesByRequiredFlag()
      Whether generated model properties are sorted by required status.

      Defaults to true.

      Returns:
      whether model properties are sorted by required status
    • getEnsureUniqueParams

      org.gradle.api.provider.Property<Boolean> getEnsureUniqueParams()
      Whether generated operation parameter names are made unique.

      Defaults to true.

      Returns:
      whether parameter names are made unique
    • getAllowUnicodeIdentifiers

      org.gradle.api.provider.Property<Boolean> getAllowUnicodeIdentifiers()
      Whether generated identifiers may contain Unicode characters.

      Defaults to false.

      Returns:
      whether Unicode identifiers are allowed
    • getPrependFormOrBodyParameters

      org.gradle.api.provider.Property<Boolean> getPrependFormOrBodyParameters()
      Whether generated form or body parameters are placed before other parameters.

      Defaults to false.

      Returns:
      whether form or body parameters are prepended
    • getGenerateApis

      org.gradle.api.provider.Property<Boolean> getGenerateApis()
      Whether API source files are generated and added to the main source set.

      Defaults to true.

      Returns:
      whether API sources are generated
    • getGenerateModels

      org.gradle.api.provider.Property<Boolean> getGenerateModels()
      Whether model source files are generated and added to the main source set.

      Defaults to true.

      Returns:
      whether model sources are generated
    • getCoroutines

      org.gradle.api.provider.Property<Boolean> getCoroutines()
      Whether Kotlin generation uses coroutines.

      Defaults to false. This option applies to Kotlin generation.

      Returns:
      whether coroutine APIs are generated
    • getUseSealed

      org.gradle.api.provider.Property<Boolean> getUseSealed()
      Whether Kotlin generation uses sealed hierarchies where supported.

      Defaults to false. This option applies to Kotlin generation.

      Returns:
      whether sealed types are generated
    • getJsonIncludeAlwaysForRequiredFields

      org.gradle.api.provider.Property<Boolean> getJsonIncludeAlwaysForRequiredFields()
      Whether required generated model properties should always be included in JSON output.

      Defaults to false.

      Returns:
      whether required fields always use JSON include annotations
    • getRequiredPropertiesInConstructor

      org.gradle.api.provider.Property<Boolean> getRequiredPropertiesInConstructor()
      Whether required generated model properties are constructor parameters.

      Defaults to true.

      Returns:
      whether required properties are constructor parameters
    • getGenerateControllerAsAbstract

      org.gradle.api.provider.Property<Boolean> getGenerateControllerAsAbstract()
      Whether generated server controllers are abstract instead of interfaces or concrete types where supported.

      Defaults to false. This option is only relevant for server generation.

      Returns:
      whether generated controllers are abstract
    • getUseUrlConnectionCache

      org.gradle.api.provider.Property<Boolean> getUseUrlConnectionCache()
      Whether generated clients use URL connection cache support where available.

      Defaults to false. This option is only relevant for client generation.

      Returns:
      whether URL connection cache support is generated
    • getGenerateEnumConverters

      org.gradle.api.provider.Property<Boolean> getGenerateEnumConverters()
      Whether enum converter classes are generated.

      Defaults to true.

      Returns:
      whether enum converters are generated
    • getUseTags

      org.gradle.api.provider.Property<Boolean> getUseTags()
      Whether OpenAPI tags are used when grouping generated operations.

      Defaults to true.

      Returns:
      whether tags are used to group operations
    • getGenerateOperationOnlyForFirstTag

      org.gradle.api.provider.Property<Boolean> getGenerateOperationOnlyForFirstTag()
      Whether an operation is generated only for its first tag.

      Defaults to true. This option only has an effect when getUseTags() is enabled.

      Returns:
      whether only the first operation tag is used
    • getJvmOverloads

      org.gradle.api.provider.Property<Boolean> getJvmOverloads()
      Whether Kotlin generated declarations include @JvmOverloads where supported.

      Defaults to false. This option applies to Kotlin generation.

      Returns:
      whether @JvmOverloads is generated
    • getJvmRecord

      org.gradle.api.provider.Property<Boolean> getJvmRecord()
      Whether generated Java code uses record types where supported.

      Defaults to false. This option applies to Java generation.

      Returns:
      whether Java records are generated
    • getJavaCompatibility

      org.gradle.api.provider.Property<Boolean> getJavaCompatibility()
      Whether Kotlin generated code includes Java interoperability helpers where supported.

      Defaults to true. This option applies to Kotlin generation.

      Returns:
      whether Java compatibility helpers are generated
    • getUserParameterMode

      org.gradle.api.provider.Property<String> getUserParameterMode()
      How generated operations represent user parameters.

      Defaults to "NONE". Supported values are defined by the selected Micronaut OpenAPI generator version.

      Returns:
      the user parameter mode