[online] Revert GENERATOR_HOST explicit setting (#3287)

This commit is contained in:
Jim Schubert 2019-07-06 17:18:34 -04:00 committed by GitHub
parent 109808e60d
commit 45da167f8e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 47 additions and 19 deletions

View File

@ -4,9 +4,10 @@ WORKDIR /generator
COPY target/openapi-generator-online.jar /generator/openapi-generator-online.jar
ENV GENERATOR_HOST=http://localhost
# GENERATOR_HOST can be used to determine the target location of a download link.
# The default value asumes binding to host via: docker -p 8080:8080 image_name
ENV GENERATOR_HOST=http://localhost:8080
EXPOSE 8080
CMD ["java", "-jar", "/generator/openapi-generator-online.jar"]
CMD ["java", "-jar", "/generator/openapi-generator-online.jar" ]

View File

@ -1,15 +1,54 @@
# OpenAPI generated server
Spring Boot Server
A Spring Boot Server application which hosts a client/server generator API.
## Overview
This server was generated by the [OpenAPI Generator](https://openapi-generator.tech) project.
By using the [OpenAPI-Spec](https://openapis.org), you can easily generate a server stub.
By using the [OpenAPI-Spec](https://openapis.org), 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](https://github.com/springfox/springfox)
Start your server as a simple java application
## Building
Change default port value in application.properties
Refer to [root README](../../README.md) 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 \
-e GENERATOR_HOST=http://localhost:8888 \
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.

View File

@ -52,7 +52,6 @@ public class OpenAPIDocumentationConfig {
String version = properties.getProperty("version", "unknown");
return new ApiInfoBuilder()
.title("OpenAPI Generator Online")
.description("This is an online openapi generator server. You can find out more at https://github.com/OpenAPITools/openapi-generator.")
@ -66,18 +65,7 @@ public class OpenAPIDocumentationConfig {
@Bean
public Docket customImplementation(){
String host;
try {
String baseUrl = System.getenv("GENERATOR_HOST");
if (baseUrl == null) {
baseUrl = System.getProperty("generator.host", "http://localhost");
}
host = new URI(baseUrl).getHost();
} catch (URISyntaxException e) {
host = "";
}
return new Docket(DocumentationType.SWAGGER_2)
.host(host)
.select()
.apis(RequestHandlerSelectors.basePackage("org.openapitools.codegen.online.api"))
.build()