Releases: openapi-processor/openapi-processor-spring
1.0.0.M15
- #102, simpler mapping format
- #99, extracted core library to create processors for other frameworks (e.g. micronaut)
- #106, changed artifact group id. New artifact coordinates:
io.openapiprocessor:openapi-processor-spring:1.0.0.M15
- new repository: https://dl.bintray.com/openapi-processor/primary
1.0.0.M14
improvements
- target java 1.8
- improved file handling
- updated dependencies
- reduced dependencies
1.0.0.M13
improvements
-
the result wrapper is no longer fixed to
ResponseEntity<>
. The default is no result wrapper. The endpoints now return the plain response type, e.g.String
instead ofResponseEntity<String>
. It is set using theresult
mapping.map: result: to: org.springframework.http.ResponseEntity
-
there is a new
single
mapping that wraps non-array like result types with the givensingle
mapping type. It works together with theresult
mapping, allowing aResponseEntity<Mono<...>>
endpoint response.map: single: to: reactor.core.publisher.Mono
-
there is a new
multi
mapping that replaces array like result types or parameters with the givenmulti
mapping type. For example it will replaceList<String>
withFlux<String>
using the mapping below. It works together with theresult
mapping, allowing aResponseEntity<Flux<...>>
endpoint response.map: multi: to: reactor.core.publisher.Flux
-
#96, improved creation of valid java identifier for identifier names from an openapi.yaml file.
1.0.0.M12
improvements
-
#91, support for composed schemas using
allOf
,anyOf
oroneOf
. The processor does create the single model classes. except the combined model class forallOf
. -
use the
path
s operation id (if available) to create the method identifier of the path:paths: /foo: get: operationId: get-bar responses: ...
will create the following method name
@GetMapping(path = "/foo") ResponseEntity<...> getBar();
if no
operationId
is available, the name is created from path (foo) and http method (get):@GetMapping(path = "/foo") ResponseEntity<...> getFoo();
-
openapi4j parser support. It provides better validation information. To select the parser set the
parser
in the processor configuration (gradle):openapiProcessor { spring { // ... other configuration // sets the parser to SWAGGER or OPENAPI4J. if not set SWAGGER is used. parser 'OPENAPI4J' } }
1.0.0.M11
1.0.0.M10
1.0.0.M9
1.0.0.M8
1.0.0.M7
1.0.0.M6
improvements
-
#68, exclude endpoints. To avoid an all-or-nothing issue it is possible to exclude endpoints when the generatr does not create the expected code. Excluded endpoints will be generated to a sibling interface with an
Excluded
postfix for reference. To exclude an endpoint set theexclude
property on the endpoint in themapping.yaml
:map: paths: /foo: exclude: true
-
#62, it is now possible to add additional parameters not defined in the OpenAPI description to an endpoint by adding an
add/as
mapping like this to themapping.yaml
:map: paths: /foo: parameters: - add: request as: javax.servlet.http.HttpServletRequest
-
#34, support for bean validations. If enabled maps the openapi constraints to java bean validation annotations. Its off by default, to enable it set
bean-validation
totrue
in themapping.yaml
:options: bean-validation: true
Thanks to @schlagi123