mirror of
https://github.com/valitydev/openapi-generator.git
synced 2024-11-06 10:35:25 +00:00
Revise the usage of OpenAPI Generator online (docker image) (#73)
* revise openapi generator online image usage * remove -o from command
This commit is contained in:
parent
d93bf4e53d
commit
b5a0d173d2
42
README.md
42
README.md
@ -157,26 +157,34 @@ The generated code will be located under `./out/go` in the current directory.
|
||||
|
||||
The openapi-generator-online image can act as a self-hosted web application and API for generating code. This container can be incorporated into a CI pipeline, and requires at least two HTTP requests and some docker orchestration to access generated code.
|
||||
|
||||
Example usage (note this assumes `jq` is installed for command line processing of JSON):
|
||||
Example usage:
|
||||
|
||||
```sh
|
||||
# Start container and save the container id
|
||||
CID=$(docker run -d openapitools/openapi-generator-online)
|
||||
# allow for startup
|
||||
sleep 5
|
||||
# Get the IP of the running container
|
||||
GEN_IP=$(docker inspect --format '{{.NetworkSettings.IPAddress}}' $CID)
|
||||
# Execute an HTTP request and store the download link
|
||||
RESULT=$(curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{
|
||||
"swaggerUrl": "https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml"
|
||||
}' 'http://localhost:8188/api/gen/clients/python' | jq '.link' | tr -d '"')
|
||||
# Download the generated zip and redirect to a file
|
||||
curl $RESULT > result.zip
|
||||
# Shutdown the swagger generator image
|
||||
docker stop $CID && docker rm $CID
|
||||
```
|
||||
# Start container at port 8888 and save the container id
|
||||
> CID=$(docker run -d -p 8888:8080 -e GENERATOR_HOST=http://localhost:8888 openapitools/openapi-generator-online)
|
||||
|
||||
In the example above, `result.zip` will contain the generated client.
|
||||
# allow for startup
|
||||
> sleep 10
|
||||
|
||||
# Get the IP of the running container (optional)
|
||||
GEN_IP=$(docker inspect --format '{{.NetworkSettings.IPAddress}}' $CID)
|
||||
|
||||
# Execute an HTTP request to generate a Ruby client
|
||||
> curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' \
|
||||
-d '{"openAPIUrl": "https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/2_0/petstore.yaml"}' \
|
||||
'http://localhost:8888/api/gen/clients/ruby'
|
||||
|
||||
{"code":"c2d483d3-3672-40e9-91df-b9ffd18d22b8","link":"http://localhost:8888/api/gen/download/c2d483d3-3672-40e9-91df-b9ffd18d22b8"}
|
||||
|
||||
# Download the generated zip file
|
||||
> wget http://localhost:8888/api/gen/download/c2d483d3-3672-40e9-91df-b9ffd18d22b8
|
||||
|
||||
# Unzip the file
|
||||
> unzip c2d483d3-3672-40e9-91df-b9ffd18d22b8
|
||||
|
||||
# Shutdown the openapi generator image
|
||||
> docker stop $CID && docker rm $CID
|
||||
```
|
||||
|
||||
#### Development in docker
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user