Fork me on GitHub

mn:generate-openapi-server

Full name:

io.micronaut.maven:micronaut-maven-plugin:4.6.0-SNAPSHOT:generate-openapi-server

Description:

Generates an OpenAPI server. The sources are generated in the target directory.

Attributes:

  • Requires a Maven project to be executed.
  • The goal is not marked as thread-safe and thus does not support parallel builds.
  • Since version: 4.0.0.
  • Binds by default to the lifecycle phase: generate-sources.

Required Parameters

Name Type Since Description
<apiPackageName> String - The package name for the APIs (controller interfaces).
Default: io.micronaut.openapi.api
User Property: micronaut.openapi.api.package.name
<controllerPackageName> String - The package name of the controller if controller implementation files are generated.
Default: io.micronaut.openapi.controller.package.name
User Property: micronaut.openapi.server.controller.package.name
<definitionFile> File - The OpenAPI specification file path relative to the project's root path.
Default: io.micronaut.openapi.invoker
User Property: micronaut.openapi.definition
<invokerPackageName> String - The name of the package that can be used for various classes required for invocation.
Default: io.micronaut.openapi.invoker
User Property: micronaut.openapi.invoker.package.name
<modelPackageName> String - The package name for the model classes.
Default: io.micronaut.openapi.model
User Property: micronaut.openapi.model.package.name
<outputDirectory> File - The output directory to which all the sources will be generated.
Default: ${project.build.directory}/generated-sources/openapi
<outputKinds> List<String> - Comma-separated values of output kinds to generate. The values are defined by the io.micronaut.openapi.generator.MicronautCodeGeneratorEntryPoint.OutputKind enum.
Default: apis,models,supporting_files
User Property: micronaut.openapi.outputs
<useBeanValidation> boolean - Whether to generate validation annotations for models and APIs.
Default: true
User Property: micronaut.openapi.use.bean.validation
<useOptional> boolean - Whether to use java.util.Optional for non-required model properties and API parameters.
Default: false
User Property: micronaut.openapi.use.optional
<useReactive> boolean - Whether to use reactor types for operation responses.
Default: true
User Property: micronaut.openapi.use.reactive

Optional Parameters

Name Type Since Description
<aotCompatible> boolean 4.2.2 If set to true, the generated code should be made compatible with Micronaut AOT.
User Property: micronaut.openapi.server.aot.compatible
<enabled> boolean - The property that defines if this mojo should be used in configuration.
User Property: micronaut.openapi.generate.server
<fluxForArrays> boolean 4.2.2 Determines if the server should use flux for arrays.
User Property: micronaut.openapi.server.flux.for.arrays
<generatedAnnotation> boolean 4.2.2 If set to true, the `javax.annotation.Generated` annotation will be added to all generated classes.
Default: true
User Property: micronaut.openapi.server.generated.annotation
<lang> String 4.3.0 Allows specifying the language of the generated code.
Default: java
User Property: micronaut.openapi.lang
<lombok> boolean 4.2.2 Determines if the server should use lombok.
User Property: micronaut.openapi.server.lombok
<parameterMappings> List<ParameterMapping> - Define parameter mappings that allow using custom types for parameter binding. See ParameterMapping for details.
User Property: micronaut.openapi.parameterMappings
<responseBodyMappings> List<ResponseBodyMapping> - Define parameter mappings that allow using custom types for parameter binding. See ResponseBodyMapping for details.
User Property: micronaut.openapi.responseBodyMappings
<useAuth> boolean - Whether to generate authentication annotations for APIs.
Default: false
User Property: micronaut.openapi.server.use.auth

Parameter Details

<aotCompatible>

If set to true, the generated code should be made compatible with Micronaut AOT.
  • Type: boolean
  • Since: 4.2.2
  • Required: No
  • User Property: micronaut.openapi.server.aot.compatible

<apiPackageName>

The package name for the APIs (controller interfaces).
  • Type: java.lang.String
  • Required: Yes
  • User Property: micronaut.openapi.api.package.name
  • Default: io.micronaut.openapi.api

<controllerPackageName>

The package name of the controller if controller implementation files are generated.
  • Type: java.lang.String
  • Required: Yes
  • User Property: micronaut.openapi.server.controller.package.name
  • Default: io.micronaut.openapi.controller.package.name

<definitionFile>

The OpenAPI specification file path relative to the project's root path.
  • Type: java.io.File
  • Required: Yes
  • User Property: micronaut.openapi.definition
  • Default: io.micronaut.openapi.invoker

<enabled>

The property that defines if this mojo should be used in configuration.
  • Type: boolean
  • Required: No
  • User Property: micronaut.openapi.generate.server

<fluxForArrays>

Determines if the server should use flux for arrays.
  • Type: boolean
  • Since: 4.2.2
  • Required: No
  • User Property: micronaut.openapi.server.flux.for.arrays

<generatedAnnotation>

If set to true, the `javax.annotation.Generated` annotation will be added to all generated classes.
  • Type: boolean
  • Since: 4.2.2
  • Required: No
  • User Property: micronaut.openapi.server.generated.annotation
  • Default: true

<invokerPackageName>

The name of the package that can be used for various classes required for invocation.
  • Type: java.lang.String
  • Required: Yes
  • User Property: micronaut.openapi.invoker.package.name
  • Default: io.micronaut.openapi.invoker

<lang>

Allows specifying the language of the generated code.
  • Type: java.lang.String
  • Since: 4.3.0
  • Required: No
  • User Property: micronaut.openapi.lang
  • Default: java

<lombok>

Determines if the server should use lombok.
  • Type: boolean
  • Since: 4.2.2
  • Required: No
  • User Property: micronaut.openapi.server.lombok

<modelPackageName>

The package name for the model classes.
  • Type: java.lang.String
  • Required: Yes
  • User Property: micronaut.openapi.model.package.name
  • Default: io.micronaut.openapi.model

<outputDirectory>

The output directory to which all the sources will be generated.
  • Type: java.io.File
  • Required: Yes
  • Default: ${project.build.directory}/generated-sources/openapi

<outputKinds>

Comma-separated values of output kinds to generate. The values are defined by the io.micronaut.openapi.generator.MicronautCodeGeneratorEntryPoint.OutputKind enum.
  • Type: java.util.List<java.lang.String>
  • Required: Yes
  • User Property: micronaut.openapi.outputs
  • Default: apis,models,supporting_files

<parameterMappings>

Define parameter mappings that allow using custom types for parameter binding. See ParameterMapping for details.
  • Type: java.util.List<io.micronaut.maven.openapi.ParameterMapping>
  • Required: No
  • User Property: micronaut.openapi.parameterMappings

<responseBodyMappings>

Define parameter mappings that allow using custom types for parameter binding. See ResponseBodyMapping for details.
  • Type: java.util.List<io.micronaut.maven.openapi.ResponseBodyMapping>
  • Required: No
  • User Property: micronaut.openapi.responseBodyMappings

<useAuth>

Whether to generate authentication annotations for APIs.
  • Type: boolean
  • Required: No
  • User Property: micronaut.openapi.server.use.auth
  • Default: false

<useBeanValidation>

Whether to generate validation annotations for models and APIs.
  • Type: boolean
  • Required: Yes
  • User Property: micronaut.openapi.use.bean.validation
  • Default: true

<useOptional>

Whether to use java.util.Optional for non-required model properties and API parameters.
  • Type: boolean
  • Required: Yes
  • User Property: micronaut.openapi.use.optional
  • Default: false

<useReactive>

Whether to use reactor types for operation responses.
  • Type: boolean
  • Required: Yes
  • User Property: micronaut.openapi.use.reactive
  • Default: true