OpenApi Generator - REST Client Generator

Overview

Quarkus - Openapi Generator

All Contributors

Welcome to Quarkiverse!

Congratulations and thank you for creating a new Quarkus extension project in Quarkiverse!

Feel free to replace this content with the proper description of your new project and necessary instructions how to use and contribute to it.

You can find the basic info, Quarkiverse policies and conventions in the Quarkiverse wiki.

In case you are creating a Quarkus extension project for the first time, please follow Building My First Extension guide.

Other useful articles related to Quarkus extension development can be found under the Writing Extensions guide category on the Quarkus.io website.

Thanks again, good luck and have fun!

Documentation

The documentation for this extension should be maintained as part of this repository and it is stored in the docs/ directory.

The layout should follow the Antora's Standard File and Directory Set.

Once the docs are ready to be published, please open a PR including this repository in the Quarkiverse Docs Antora playbook. See an example here.

Contributors

Thanks goes to these wonderful people (emoji key):


Ricardo Zanini

💻 🚧

This project follows the all-contributors specification. Contributions of any kind welcome!

Comments
  • Yaml configuration not honored.

    Yaml configuration not honored.

    My configuration is in a yaml file.

    My openapi file is here crm-svc/service/src/main/openapi/sellerdeal.yaml

    My application.yaml file has

    quarkus:
      openapi-generator:
        codegen:
          spec:
            sellerdeal_yaml:
              base-package:
                com.floatfin.sellerdeal.openapi
    

    Expected

    The generated interfaces have the package:

    com.floatfin.sellerdeal.openapi;
    

    Actual

    The generated interfaces have the package:

    package org.openapi.quarkus.sellerdeal_yaml.api;
    
    bug 
    opened by mike-hampton-float 21
  • Multipart File Generation as InputStream

    Multipart File Generation as InputStream

    Current Multipart Generation is generating the call with a File object when an InputStream would be preferred.

    Current:

    @FormParam("file")
    @org.jboss.resteasy.annotations.providers.multipart.PartFilename("fileFile")
    @org.jboss.resteasy.annotations.providers.multipart.PartType(MediaType.APPLICATION_OCTET_STREAM)
    public File _file;
    

    When ideally for more flexible client rather than requiring a File object requiring an InputStream so it can be streamed from say S3 or Azure Blob store.

    Wanted:

    @FormParam("file")
    @PartType(MediaType.APPLICATION_OCTET_STREAM)
    public InputStream _file;
    

    Full current example.

        @PUT
        @Consumes({"multipart/form-data"})
        @Produces({"application/json"})
        @GeneratedMethod ("v2DocumentPut")
        public DocumentMetadata v2DocumentPut(
            @org.jboss.resteasy.annotations.providers.multipart.MultipartForm V2DocumentPutMultipartForm multipartForm
        );
    
        public static class V2DocumentPutMultipartForm {
            @FormParam("file")
            @org.jboss.resteasy.annotations.providers.multipart.PartFilename("fileFile")
            @org.jboss.resteasy.annotations.providers.multipart.PartType(MediaType.APPLICATION_OCTET_STREAM)
            public File _file;
            @FormParam("storagePath")
            @org.jboss.resteasy.annotations.providers.multipart.PartType(MediaType.TEXT_PLAIN)
            public String storagePath;
            @FormParam("storageContainer")
            @org.jboss.resteasy.annotations.providers.multipart.PartType(MediaType.TEXT_PLAIN)
            public String storageContainer;
        }
    
    enhancement good first issue 
    opened by melloware 21
  • Mapping DateTime to Instant is ignored

    Mapping DateTime to Instant is ignored

    Using a mapping to have the openapi DateTime map to java.time.Instant is ignored. The type generated is still java.time.OffsetDateTime

    The following repo illustrates the issue and allows it to be reproduced easily: https://github.com/mike-hampton-float/example-quarkus-api

    bug question 
    opened by mike-hampton-float 17
  • Import generated-source files in target folder

    Import generated-source files in target folder

    Hey everyone!

    This might be a silly question but how does one import the generated files such as target/openapi/quarkus/clients_json/api/DefaultApi.java in the actual source files located in src/main/...?

    when I try to inject the class with

        @RestClient
        @Inject
        lateinit var defaultApi: DefaultApi
    

    then the compilation fails because DefaultApi cannot be found.

    I have tried specifying a different output folder as suggested here https://stackoverflow.com/questions/4121010/maven-cant-add-files-in-generated-sources-for-compilation-phase?rq=1 but that didn't work.

    question 
    opened by svartkanin 16
  • Adding typemapping option to the generator

    Adding typemapping option to the generator

    This PR will enable users to configure their own type mappings via the properties. For example, this allows users to use InputStream for their multipart file uploads (instead of the default File) as request in #118 .

    NB: still a work in progress

    opened by Orbifoldt 11
  • Add @ApplicationScoped to generated api to allow mocking api for testing

    Add @ApplicationScoped to generated api to allow mocking api for testing

    PR to fix issue #86. Adding @ApplicationScoped annotation to generated API will allow us to mock it in unit test according to official Quarkus guidelines https://quarkus.io/blog/mocking/#using-injectmock

    enhancement 
    opened by miguelchico 9
  • Additional properties support

    Additional properties support

    Hey guys, I just stumbled upon this extension and it is exactly what I need! Thank you for your effort in creating this!

    However due to the issue reported in https://github.com/OpenAPITools/openapi-generator/issues/2901 I have to provide an additional property to be able to generate the sources. The property is the outcome of the issue linked above: openApiNullable=false.

    I took the liberty of forking the project and implementing the missing functionality in https://github.com/antssilva96/quarkus-openapi-generator/tree/add-additional-properties-support (also fixed what seems like a typo sort of bug in the template for the Authentication Provider).

    I wanted to know if not allowing for additional properties was a design decision and if there is some other way of passing the mentioned property. If it was just a missing feature I'll be happy to create a pull request

    opened by antssilva96 9
  • Make sure that the property `interfaceOnly` is exposed

    Make sure that the property `interfaceOnly` is exposed

    See: https://openapi-generator.tech/docs/generators/jaxrs-spec/

    We already use this generator underneath. The property interfaceOnly can be exposed by the plugin. The trick here is also to update the templates to ensure that the property is considered.

    Request: https://github.com/quarkiverse/quarkus-openapi-generator/issues/128#issuecomment-1310557441

    enhancement added to backlog 
    opened by ricardozanini 8
  • Bump quarkiverse-parent from 9 to 10

    Bump quarkiverse-parent from 9 to 10

    Bumps quarkiverse-parent from 9 to 10.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 7
  • Wrong class generated for enum

    Wrong class generated for enum

    Ginevn the follwogin OpenApi scheme:

       ConnectorNamespaceState:
          type: string
          enum:
            - disconnected
            - ready
            - deleting
    

    the extension generates an invalid class:

    @JsonIgnoreProperties(ignoreUnknown = true)
    public enum ConnectorNamespaceState {
        private String value;
    
        ConnectorNamespaceState(String value){
            this.value = value;
        }
    
        @Override
        @JsonValue
        public String toString() {
            return String.valueOf(value);
        }
    
        @JsonCreator
        public static ConnectorNamespaceState fromValue(String text) {
            for (ConnectorNamespaceState b : ConnectorNamespaceState.values()) {
                if (String.valueOf(b.value).equals(text)) {
                    return b;
                }
            }
            throw new IllegalArgumentException("Unexpected value '" + text + "'");
        }
    }
    

    Which is wrong as it does not include the listed enum values.

    As an additional note, ConnectorNamespaceState.values() should probably be cached as each call to values() creates a copy of the enum values for each invocation

    bug 
    opened by lburgazzoli 7
  • Specify a different root path for files

    Specify a different root path for files

    I'd like to add a new functionality to the generators to allow changing the root path from "src/main/openapi" to a custom one, and also being able to filter which files inside that directory must be used. I've been doing some tests and it could be done with just 2 new optional properties and a couple of new lines in OpenApiGeneratorCodeGenBase.

    I found that OpenApiGeneratorStreamCodeGen could potentially achieve something similar but it needs to create a new library to define the new provider.

    What do you think? Thanks!

    enhancement 
    opened by gwydionmv 5
  • Auth apiKey: I need to propagate the login token obtained at login

    Auth apiKey: I need to propagate the login token obtained at login

    Maybe the isssue it's me, I'm not sure I'm doing it right.

    I have a REST service with a login call, which I have to invoke with username and password. The login call returns a token. I thought I should enable token propagation, so that token is propagated from login call to the other calls.

    • quarkus v2.15.1.Final
    • quarkus-openapi-generator v1.1.0

    provided json is as following

      "securityDefinitions": {
        "Bearer": {
          "type": "apiKey",
          "description": "API Key Authentication",
          "name": "Authorization",
          "in": "header"
        }
      }
    

    so I have configured the following way

    quarkus.openapi-generator.codegen.spec.esprinet_swagger_def_json.base-package=it.ufficiodiscount.openapi.esprinet
    quarkus.openapi-generator.esprinet_swagger_def_json.auth.bearer.token-propagation=true
    quarkus.openapi-generator.esprinet_swagger_def_json.auth.Bearer.token-propagation=true
    # side question: which case is correct?
    

    During the login call I get the following exception:

    Token propagation is not admitted for the OpenApi securitySchemes of "type": "apiKey"
    

    Why is it not admitted? How to workaround this?

    Thanks

    opened by lamemind-ud 0
  • Migrate README.md to quarkiverse-docs

    Migrate README.md to quarkiverse-docs

    Instead of keeping our documentation in the README file, we should migrate it to Asciidoc and publish it in the Quarkiverse Documentation: https://quarkiverse.github.io/quarkiverse-docs/index/index/index.html.

    It will help maintain it across the different versions and also with SEO.

    See how to do it: https://github.com/quarkiverse/quarkiverse/wiki#documenting-your-extension

    documentation good first issue help wanted added to backlog 
    opened by ricardozanini 0
  • No security full example yet!

    No security full example yet!

    I am using the extension the extension to generate secured APIs, the Auth package is generated and inside it, classes "AuthenticationPropagationHeadersFactory" and "CompositeAuthenticationProvider" are auto-generated annotated in the auto-generated "DefaultApi" interface, but after implementing the "DefaultApi" interface I can see the end-points in the Swagger-UI but not as secured end-points, and I could not find any full example to show me the proper implementation.

    Issue scenario:

    • Using "quarkus-openapi-generator" to generate code from an OpenAPI specification file contains secured end-points (basic-auth).
    • Implementing the generated API interface.

    Results:

    • Implemented API end-points appear in the Swagger-UI but as non secured end-points (basic-auth).

    Requirements:

    • A full example or guide shows the proper implementation of the generated interface (that contains ).

    Thanks for your valuable efforts. :)

    question 
    opened by mhmaem 2
  • Wrong status code returned for apis defined as HTTP 201

    Wrong status code returned for apis defined as HTTP 201

    If I define an api as returning 201 the successful response actually returns 200

    Example here: https://github.com/factor-hardware/bug-report-quarkiverse-quarkus-openapi-generator-201-returns-as-200

    openapi: 3.0.3
    info:
      title: "bug report"
      version: "1.0.0"
      description: "bug report 201 not returned for apis marked 201"
    servers:
      - url: https://localhost
    components:
      schemas:
        Thing:
          type: object
          properties:
            name: { type: string }
    
    paths:
      /v1/Things:
        post:
          tags:
            - things
          operationId: thingsCreate
          responses:
            "201":
              description: Created
              content:
                "application/json":
                  schema:
                    $ref: "#/components/schemas/Thing"
    
    curl -X POST -v 'http://localhost:8080/v1/Things'
    *   Trying ::1:8080...
    * Connected to localhost (::1) port 8080 (#0)
    > POST /v1/Things HTTP/1.1
    > Host: localhost:8080
    > User-Agent: curl/7.77.0
    > Accept: */*
    > 
    * Mark bundle as not supporting multiuse
    < HTTP/1.1 200 OK
    < content-length: 35
    < Content-Type: application/json;charset=UTF-8
    < 
    * Connection #0 to host localhost left intact
    {"name":"i should return http 201"}
    
    bug added to backlog 
    opened by jordan-factor 0
  • Change `OpenApiGeneratorCodeGenBase#shouldRun` to throw an exception rather than return `false`

    Change `OpenApiGeneratorCodeGenBase#shouldRun` to throw an exception rather than return `false`

    Silently returning false in io.quarkiverse.openapi.generator.deployment.codegen.OpenApiGeneratorCodeGenBase#shouldRun may confuse the user of the extension, that may not notice that an invalid path is being used. It will be clearer if we throw an exception instead, so the build will fail.

    This should be done after https://github.com/quarkiverse/quarkus-openapi-generator/pull/179 is merged.

    enhancement added to backlog 
    opened by hbelmiro 0
Releases(2.0.0)
  • 2.0.0(Jan 2, 2023)

    Hooray! 👾

    This is the first version to support Quarkus 3. Please update your dependencies to this version if you are willing to use Quarkus 3. We will keep compatibility for Quarkus 2 (1.x.x train) and Quarkus 3 (2.x.x train); keep an eye on it!

    What's Changed

    • Bump quarkiverse-parent from 11 to 12 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/204
    • Added support to Quarkus 3 by @hbelmiro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/190
    • Bump javaparser-core from 3.24.8 to 3.24.9 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/206
    • Added support to enum arrays by @hbelmiro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/211
    • issue-214 Fixed enum serialization by @hbelmiro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/215
    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Jan 2, 2023)

    Attention! This version is for Quarkus 2.x only!

    What's Changed

    • Added support to enum arrays (#211) by @hbelmiro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/211
    • Updated Quarkus to 2.15.1 by @hbelmiro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/208
    • quarkus2 issue-214 Fixed enum serialization (#215) by @hbelmiro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/216

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/1.0.1...1.1.0

    Source code(tar.gz)
    Source code(zip)
  • 1.0.1(Dec 6, 2022)

    Release to fix a bug introduced in the 1.0.0 version.

    What's Changed

    • Add CodeQL workflow for GitHub code scanning by @lgtm-com in https://github.com/quarkiverse/quarkus-openapi-generator/pull/195
    • Control when path has not 'src' in it by @gwydionmv in https://github.com/quarkiverse/quarkus-openapi-generator/pull/197
    • Use dynamic port where possible in tests that use WireMock by @dritoferro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/198

    New Contributors

    • @lgtm-com made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/195
    • @dritoferro made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/198

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/1.0.0...1.0.1

    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Dec 2, 2022)

    Hooray! This is the first release of the OpenAPI Generator extension that we consider to be a stable release. Thank you all for your contributions and for being part of the community!

    We will keep the 1.x branch compatible with Quarkus 2.x and the 2.x (future) branch to Quarkus 3.x. Stay tuned!

    What's Changed

    • Removing unnecessary Optional in SpecItemConfig for type and import mappings by @Orbifoldt in https://github.com/quarkiverse/quarkus-openapi-generator/pull/165
    • (fix) Break Integration Tests into small sets of use cases by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/166
    • Bump wiremock-jre8 from 2.34.0 to 2.35.0 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/169
    • [issue-39] Added feature to ignore code generation for specific OpenA… by @hbelmiro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/171
    • Bump javaparser-core to 3.24.8 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/178
    • Enabling custom data and datetime mappings by @Orbifoldt in https://github.com/quarkiverse/quarkus-openapi-generator/pull/182
    • Bump quarkus.version to 2.14.2.Final by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/186
    • [issue-183] Fixed order of imports by @hbelmiro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/184
    • Change base directory + add include property by @gwydionmv in https://github.com/quarkiverse/quarkus-openapi-generator/pull/179

    New Contributors

    • @gwydionmv made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/179

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.12.0...1.0.0

    Source code(tar.gz)
    Source code(zip)
  • 0.12.0(Oct 20, 2022)

    What's Changed

    • Bump wiremock-jre8 from 2.33.2 to 2.34.0 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/142
    • Adding typemapping option to the generator by @Orbifoldt in https://github.com/quarkiverse/quarkus-openapi-generator/pull/143
    • Bump slf4j-ext to 2.0.3 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/149
    • Bump microprofile-fault-tolerance-api to 4.0.2 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/153
    • Bump handlebars-jackson2 from 4.3.0 to 4.3.1 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/156
    • Bump quarkus.version to 2.13.3.Final by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/160
    • Import org.eclipse.microprofile.rest.client.annotation.RegisterProvider when custom-register-providers is used by @YassinHajaj in https://github.com/quarkiverse/quarkus-openapi-generator/pull/158

    New Contributors

    • @YassinHajaj made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/158

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.11.0...0.12.0

    Source code(tar.gz)
    Source code(zip)
  • 0.11.0(Sep 12, 2022)

    What's Changed

    • Fix broken example link in documentation by @stephan-strate in https://github.com/quarkiverse/quarkus-openapi-generator/pull/133
    • Use original operationId in annotated GeneratedMethod by @cristianonicolai in https://github.com/quarkiverse/quarkus-openapi-generator/pull/137
    • Bump quarkus.version from 2.12.0.Final to 2.12.1.Final by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/138
    • Fix #135: Exclude deprecated operations by @melloware in https://github.com/quarkiverse/quarkus-openapi-generator/pull/136

    New Contributors

    • @stephan-strate made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/133

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.10.0...0.11.0

    Source code(tar.gz)
    Source code(zip)
  • 0.10.0(Sep 2, 2022)

    What's Changed

    • fix(): missing @JsonCreator annotation for inner enum by @Leibnizhu in https://github.com/quarkiverse/quarkus-openapi-generator/pull/106
    • Fixed possible NullPointerException in OpenApiGeneratorStreamCodeGen.java by @hbelmiro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/105
    • feat(#108): support custom register provider by @Leibnizhu in https://github.com/quarkiverse/quarkus-openapi-generator/pull/111
    • Bump javaparser-core from 3.24.2 to 3.24.4 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/115
    • Add badges inline with other quarkiverse projects by @melloware in https://github.com/quarkiverse/quarkus-openapi-generator/pull/119
    • Bump slf4j-ext from 1.7.36 to 2.0.0 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/122
    • Allow to skip spec validation by @cristianonicolai in https://github.com/quarkiverse/quarkus-openapi-generator/pull/123
    • Bump quarkus.version from 2.11.2.Final to 2.12.0.Final by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/126
    • Removed import that might cause compilation error due to ambiguity by @hbelmiro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/102
    • Avoid stackoverflow in AuthenticationProvider by @cristianonicolai in https://github.com/quarkiverse/quarkus-openapi-generator/pull/129
    • Add indexed name auth provider by @cristianonicolai in https://github.com/quarkiverse/quarkus-openapi-generator/pull/130

    New Contributors

    • @Leibnizhu made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/106
    • @melloware made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/119
    • @cristianonicolai made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/123

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.9.0...0.10.0

    Source code(tar.gz)
    Source code(zip)
  • 0.9.0(Jun 30, 2022)

    Breaking Change!

    In this release, we introduce a change that might break a few setups. If your OpenAPI spec file doesn't have a default server defined, the generated REST stub won't have a baseUrl defined. The annotation will look like this for a file named myspec.yaml:

    @RegisterRestClient(configKey="myspec_yaml")
    public interface MyService {
        // content suppressed
    }
    

    So to properly configure the endpoint URL, you can use the quarkus.rest-client.myspec_yaml.url configuration key of the Quarkus REST Client extension.

    Before this change, the default baseUri annotation parameter would be http://localhost. Please update your configuration if you expect to have localhost as your default server endpoint.

    What's Changed

    • Using full path as config key by @fjtirado in https://github.com/quarkiverse/quarkus-openapi-generator/pull/94
    • Fix auth property in readme by @martinweiler in https://github.com/quarkiverse/quarkus-openapi-generator/pull/96
    • Do not put a default url if there is not server url by @fjtirado in https://github.com/quarkiverse/quarkus-openapi-generator/pull/95
    • Update readme by @fjtirado in https://github.com/quarkiverse/quarkus-openapi-generator/pull/97

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.8.0...0.9.0

    Source code(tar.gz)
    Source code(zip)
  • 0.8.0(Jun 27, 2022)

    In this new version, we have a few bug fixes and minor enhancements. See the details below.

    What's Changed

    • minor wording fix by @maxandersen in https://github.com/quarkiverse/quarkus-openapi-generator/pull/83
    • Bump quarkus.version from 2.9.2.Final to 2.10.0.Final by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/84
    • Add @ApplicationScoped to generated api to allow mocking api for testing by @miguelchico in https://github.com/quarkiverse/quarkus-openapi-generator/pull/87
    • Define the default authentication method to be used by OpenAPI by @martinweiler in https://github.com/quarkiverse/quarkus-openapi-generator/pull/90
    • Add capability to use additionalModelTypeAnnotations by @miguelchico in https://github.com/quarkiverse/quarkus-openapi-generator/pull/89
    • If the file name is a path and not just a name, dirs should be created by @fjtirado in https://github.com/quarkiverse/quarkus-openapi-generator/pull/92

    New Contributors

    • @maxandersen made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/83
    • @miguelchico made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/87
    • @martinweiler made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/90

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.7.0...0.8.0

    Source code(tar.gz)
    Source code(zip)
  • 0.7.0(Jun 1, 2022)

    Breaking Change!!

    Please be aware that the properties from the authentication use cases have changed. Now it's prefixed by quarkus.openapi-generator instead of the generated package FQDN. Please see the Authentication Support section in our README for more details.

    What's Changed

    • Add property to remove JsonNullable import by @antssilva96 in https://github.com/quarkiverse/quarkus-openapi-generator/pull/74
    • Add token propagation support by @wmedvede in https://github.com/quarkiverse/quarkus-openapi-generator/pull/68
    • Bump quarkus.version from 2.8.2.Final to 2.9.1.Final by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/73
    • Add token propagation support by @wmedvede in https://github.com/quarkiverse/quarkus-openapi-generator/pull/78
    • Bump assertj-core from 3.22.0 to 3.23.0 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/79
    • Bump quarkus.version from 2.9.1.Final to 2.9.2.Final by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/76
    • Bump assertj-core from 3.23.0 to 3.23.1 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/80

    New Contributors

    • @wmedvede made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/68

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.6.1...0.7.0

    Source code(tar.gz)
    Source code(zip)
  • 0.6.1(May 13, 2022)

    Small patch to fix a typo in the API template.

    What's Changed

    • Fix typo/bug in CompositeAuthenticationProvider template by @antssilva96 in https://github.com/quarkiverse/quarkus-openapi-generator/pull/67

    New Contributors

    • @antssilva96 made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/67

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.6.0...0.6.1

    Source code(tar.gz)
    Source code(zip)
  • 0.6.0(May 6, 2022)

    Breaking Change!!

    Please update your configuration to reflect the new change in the basePackage property. If you have a filename with non-alphabetical characters, you must replace them with an underscore (_). For example, if your filename is petstore-api.json, your property should be named:

    quarkus.openapi-generator.codegen.spec.petstore_api_json.base-package=org.acme.openapi
    

    No quotes are needed anymore.

    Additionally, any other property that requires the filename is now following this pattern. Please see the documentation for more details.

    What's Changed

    • Bump wiremock-jre8 from 2.33.1 to 2.33.2 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/56
    • Standardize the openapi spec id in configs and add baseUri to the RegisterRestClient by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/60
    • Fix #40 - Add verbose codegen configuration and instructions for maven runs by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/61
    • Fix #62 - add filename if using default basePackage by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/63

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.5.0...0.6.0

    Source code(tar.gz)
    Source code(zip)
  • 0.5.0(May 2, 2022)

    In this release, we've introduced support for OAuth2 authentication and upgraded to Quarkus 2.8.3.

    What's Changed

    • Bump wiremock-jre8 from 2.32.0 to 2.33.1 by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/49
    • Rearrange Integration Tests modules by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/50
    • Add support to OAuth2 by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/52
    • Bump quarkus.version to 2.8.2.Final by @dependabot in https://github.com/quarkiverse/quarkus-openapi-generator/pull/53
    • Adding custom properties to OpenApiSpecInputProvider by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/54

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.4.1...0.5.0

    Source code(tar.gz)
    Source code(zip)
  • 0.4.1(Apr 11, 2022)

    A small change in the 0.4.x version to allow passing codegen context parameter to the OpenApiSpecInputProvider interface.

    What's Changed

    • Passing codegencontext to OpenApiInputSpec by @fjtirado in https://github.com/quarkiverse/quarkus-openapi-generator/pull/47

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.4.0...0.4.1

    Source code(tar.gz)
    Source code(zip)
  • 0.4.0(Apr 8, 2022)

    In this release, we add support for the Circuit Breaker pattern, the ability to provide an Open API spec file as an input stream, and the support for multipart/form-data.

    What's Changed

    • Added Circuit Breaker feature by @hbelmiro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/20
    • Add support to generate stubs from any InputStream by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/37
    • Adding multipart/form-data support by @Orbifoldt in https://github.com/quarkiverse/quarkus-openapi-generator/pull/41
    • Adding annotations for code mapping by @fjtirado in https://github.com/quarkiverse/quarkus-openapi-generator/pull/44
    • Fix #38 - Add option to skip generation of deprecated attributes by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/45

    New Contributors

    • @Orbifoldt made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/41

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.3.1...0.4.0

    Source code(tar.gz)
    Source code(zip)
  • 0.3.1(Mar 31, 2022)

  • 0.3.0(Mar 29, 2022)

    In this release, we fixed a bug in the Enum generation code.

    What's Changed

    • Specifying package for each api file should be optional. by @fjtirado in https://github.com/quarkiverse/quarkus-openapi-generator/pull/24
    • Fix #28 - Add Enum Outer Class template and values cache by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/31

    New Contributors

    • @fjtirado made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/24

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.2.0...0.3.0

    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Mar 28, 2022)

    In this release, we added support for HTTP and API Key authentication schemes. Please see the README for more information.

    Detailed changes are listed below.

    What's Changed

    • Added warning to README.md by @hbelmiro in https://github.com/quarkiverse/quarkus-openapi-generator/pull/11
    • Fix #7 - Correct handling paths on Windows machines by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/12
    • Removing unused tests by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/14
    • Configure GH Actions CI to run tests and build on Windows machines by @RishiKumarRay in https://github.com/quarkiverse/quarkus-openapi-generator/pull/8
    • Add support to Basic Auth, Bearer and API Key by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/19

    New Contributors

    • @hbelmiro made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/11
    • @RishiKumarRay made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/8

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/compare/0.1.0...0.2.0

    Source code(tar.gz)
    Source code(zip)
  • 0.1.0(Feb 16, 2022)

    We introduce the first pre-release version of the Quarkus OpenAPI REST Client generator in this release. Please see the README for how to use it.

    Note that this is a pre-release, unstable version. We are working towards the stabilization of the extension. We would love to hear back from the community and contributions.

    What's Changed

    • Introducing OpenAPI Generator by @ricardozanini in https://github.com/quarkiverse/quarkus-openapi-generator/pull/3

    New Contributors

    • @ricardozanini made their first contribution in https://github.com/quarkiverse/quarkus-openapi-generator/pull/3

    Full Changelog: https://github.com/quarkiverse/quarkus-openapi-generator/commits/0.1.0

    Source code(tar.gz)
    Source code(zip)
Owner
Quarkiverse Hub
A place to host and build Quarkus extensions
Quarkiverse Hub
OpenApi Generator - REST Client Generator

Quarkus - Openapi Generator Welcome to Quarkiverse! Congratulations and thank you for creating a new Quarkus extension project in Quarkiverse! Feel fr

Quarkiverse Hub 46 Jan 3, 2023
IntelliJ plugin for continuous OpenAPI linting using the Spectral OpenAPI linter

Spectral IntelliJ Plugin This plugin is a wrapper for the tool Spectral, a linter for OpenApi schemas. It supports all Jetbrains IDEs starting at vers

Schwarz IT 19 Jun 6, 2022
Community extension to generate a Java client from the provided Camunda 7 OpenAPI descitpion and also warp it into Spring Boot

Camunda Engine OpenAPI REST Client Java and Spring Boot This community extension is a convenience wrapper around the generated Java client from the Ca

Camunda Community Hub 29 Dec 28, 2022
Tuya 37 Dec 26, 2022
A plugin to help you easily edit Swagger and OpenAPI specification files inside IntelliJ IDEA

Swagger Plugin Swagger Plugin makes it easy to edit Swagger and OpenAPI specification files inside IntelliJ IDEA. You can find it on JetBrains' plugin

Zalando SE 1.1k Dec 15, 2022
This is a Maven plugin designed to help developers automatizing the creation of code classes from YML files based on AsyncApi and OpenAPI.

SCS MultiApi Maven Plugin This is a Maven plugin designed to help developers automatizing the creation of code classes from YML files based on AsyncAp

Corunet 0 Dec 20, 2022
Log4j-payload-generator - Log4j jndi injects the Payload generator

0x01 简介 log4j-payload-generator是 woodpecker框架 生产log4 jndi注入漏洞payload的插件。目前可以一键生产以下5类payload。 原始payload {[upper|lower]:x}类型随机混payload {[upper|lower]:x}

null 469 Dec 30, 2022
EssentialClient is a client side mod originally forked from Carpet Client for 1.15.2 that implements new client side features

EssentialClient EssentialClient is a client side only mod originally forked from Carpet Client for 1.15.2 that implements new client side features. Th

null 62 Jan 3, 2023
This is the src of Badlion client 3.0.0, The reason of this repo is badlion client's owner being p e d o

About Badlion Using Gradle instead of the shit mcp uwu Commands Run with random username gradle startGame Run with another username gradle startGame -

Pace 32 Dec 2, 2022
This is the src of Badlion client 3.0.0, The reason of this repo is badlion client's owner being p e d o

About Badlion Using Gradle instead of the shit mcp uwu Commands Run with random username gradle startGame Run with another username gradle startGame -

Pace 32 Dec 2, 2022
ZerotierFix - An unofficial Zerotier Android client patched from official client

Zerotier Fix An unofficial Zerotier Android client patched from official client. Features Self-hosted Moon Support Add custom planet config via file a

KAAAsS 830 Jan 8, 2023
The Quotation Management application is a API REST created using Spring Boot framework.

✅ Quotation Management API - Done ✅ About • Features • Setup • Technologies • Author • License ?? About The Quotation Management application is a API

Vanessa Swerts 6 Apr 29, 2022
Spring Boot JdbcTemplate example with SQL Server: CRUD Rest API using Spring Data JDBC, Spring Web MVC

Spring Boot JdbcTemplate example with SQL Server: Build CRUD Rest API Build a Spring Boot CRUD Rest API example that uses Spring Data Jdbc to make CRU

null 7 Dec 20, 2022
Java framework for making REST clients

Pocolifo's REST Client Framework Java framework for making REST clients Here's how easy it is Here's an example for a GET request in the context of a

null 3 Jun 19, 2022
Rate limiting private REST APIs using Java Spring-boot, spring-security and bucket4j

Rate limiting REST APIs using Spring-security filter and Bucket4J Deployed Application (Swagger-ui on heroku) Inspired from: Baeldung Article Applicat

null 20 Jul 18, 2022
Uma API REST com funcionalidades de CRUD que simula um sistema de leilão 💰.

Leilão API REST Essa aplicação foi feita para ajudar aqueles que ainda estão com alguma dúvida, sobre o funcionamento de um API REST em Spring. Já que

Fábio Henrique 4 Feb 23, 2022
Drone - A service via REST API that allows clients to communicate with drones

Drone - A service via REST API that allows clients to communicate with drones (i.e. **dispatch controller**). The specific communication with the drone is outside the scope of this task.

Obinna Ogbonna 1 Jan 10, 2022
RESTX, the lightweight Java REST framework

RESTX - the lightweight Java REST framework RESTX is a full lightweight disrupting stack, which includes Swagger-like ui & considers REST specs tests

null 437 Oct 22, 2022
Spring Boot Login and Registration example with MySQL, JWT, Rest Api - Spring Boot Spring Security Login example

Spring Boot Login example with Spring Security, MySQL and JWT Appropriate Flow for User Login and Registration with JWT Spring Boot Rest Api Architect

null 58 Jan 5, 2023