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