openapi-generator/modules/openapi-generator-online
Florian Greinacher 79de04ed32
fix: respect configured generator URL in swagger config (#12064)
* fix: respect configured generator URL in swagger config

The generated OpenAPI spec does not reflect the GENERATOR_HOST which causes wrong generated code and non-functional snippets in the UI.

This PR improves that by adding the relevant parts to the spec.

* style: use `OpenAPI` instead of `Swagger`

* refactor: make Set creation Java 8 compatible

* fix: add missing import
2022-04-13 00:47:45 +08:00
..
2022-02-26 14:01:17 +08:00

OpenAPI generated server

A Spring Boot Server application which hosts a client/server generator API.

Overview

This server was generated by the OpenAPI Generator project. By using the OpenAPI-Spec, you can easily generate a server stub or one of 100+ client packages.

This is an example of building a OpenAPI-enabled server in Java using the SpringBoot framework.

The underlying library integrating OpenAPI to SpringBoot is springfox

Building

Refer to root README for build directions.

Running

Via command line

Running is as simple as:

java -jar ./target/openapi-generator-online.jar

This exposes the API on local port 8080.

Springfox supports configuration of the "host" value in the output OpenAPI document by setting the Host HTTP header in the request. To set this explicitly, pass the system property springfox.documentation.swagger.v2.host with the desired host. For example:

java -Dspringfox.documentation.swagger.v2.host=example.com:8888 -jar ./target/openapi-generator-online.jar

Via Docker

After building from source, change to this module directory (cd modules/openapi-generator-online) and build the docker image:

docker build -t openapitools/openapi-generator-online:latest .

Now, run the docker image:

docker run -d -p 8888:8080 openapitools/openapi-generator-online

The GENERATOR_HOST variable is used here to ensure download links generated by the API refer to the proper API location.

Environment

GENERATOR_HOST can be set to force the scheme/host/port used for download link generation. In most cases, this environment variable is not necessary to be set and the download link will be generated to match the originating request. The variable is provided simply as a fallback.