Skip to content

Releases: openapi-processor/openapi-processor-spring

1.0.0.M15

29 Jun 14:54
Compare
Choose a tag to compare
1.0.0.M15 Pre-release
Pre-release
  • #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

19 Jun 16:39
Compare
Choose a tag to compare
1.0.0.M14 Pre-release
Pre-release

improvements

  • target java 1.8
  • improved file handling
  • updated dependencies
  • reduced dependencies

1.0.0.M13

01 May 16:01
Compare
Choose a tag to compare
1.0.0.M13 Pre-release
Pre-release

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 of ResponseEntity<String>. It is set using the result mapping.

    map:
      result:
        to: org.springframework.http.ResponseEntity
    
  • there is a new single mapping that wraps non-array like result types with the given single mapping type. It works together with the result mapping, allowing a ResponseEntity<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 given multi mapping type. For example it will replace List<String> with Flux<String> using the mapping below. It works together with the result mapping, allowing a ResponseEntity<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

08 Mar 08:01
Compare
Choose a tag to compare
1.0.0.M12 Pre-release
Pre-release

improvements

  • #91, support for composed schemas using allOf, anyOf or oneOf. The processor does create the single model classes. except the combined model class for allOf.

  • use the paths 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

01 Mar 10:46
Compare
Choose a tag to compare
1.0.0.M11 Pre-release
Pre-release

improvements

fixes

  • #84, handle $ref loops
  • #83, rename cleanup

1.0.0.M10

18 Feb 22:53
Compare
Choose a tag to compare
1.0.0.M10 Pre-release
Pre-release

fixes

  • #82, fixed missing bean validation annotation when the limit is 0

1.0.0.M9

16 Feb 22:54
Compare
Choose a tag to compare
1.0.0.M9 Pre-release
Pre-release

fixes

  • reverted groovy 3. It breaks the processor at run time.

1.0.0.M8

16 Feb 17:19
Compare
Choose a tag to compare
1.0.0.M8 Pre-release
Pre-release
  • renamed project to openapi-processor-spring

fixes

  • #78, fixed @RequestParam(defaultValue = "...") to convert the default value to String.

1.0.0.M7

01 Feb 15:46
Compare
Choose a tag to compare
1.0.0.M7 Pre-release
Pre-release

fixes

  • the new mapping parse code crashed on unspecified keys

1.0.0.M6

25 Jan 16:18
Compare
Choose a tag to compare
1.0.0.M6 Pre-release
Pre-release

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 the exclude property on the endpoint in the mapping.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 the mapping.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 to true in the mapping.yaml:

      options:
        bean-validation: true
    

    Thanks to @schlagi123