openapi-gateway

Crates.ioopenapi-gateway
lib.rsopenapi-gateway
version0.1.4
sourcesrc
created_at2022-02-13 21:11:09.873546
updated_at2022-02-18 19:53:54.720286
descriptionAPI Gateway based on OpenAPI routes
homepagehttps://github.com/adhesivee/openapi-gateway
repositoryhttps://github.com/adhesivee/openapi-gateway
max_upload_size
id531902
size18,031,609
A. Bos (adhesivee)

documentation

https://docs.rs/openapi-gateway

README

OpenAPI Gateway

API Gateway that build its routes via OpenAPI specification.

Hot reloading of OpenAPI files is supported with reload_cron (see Config).

This project simplifies orchestration of services that work with OpenAPI.

Config

# openapi-gateway-config.toml

# Refresh every minute
reload_cron = "* * * * *"

[[openapi_urls]]
name = "Swagger petstore example V2#JSON"
url = "https://petstore.swagger.io/v2/swagger.json"

[[openapi_urls]]
name = "Swagger petstore example V2#YAML"
url = "https://petstore.swagger.io/v2/swagger.yaml"

[[openapi_urls]]
name = "Swagger petstore example V3#JSON"
url = "https://petstore3.swagger.io/api/v3/openapi.json"

[[openapi_urls]]
name = "Swagger petstore example V3#YAML"
url = "https://petstore3.swagger.io/api/v3/openapi.yaml"

Start project

Cargo run

cargo run

Cargo install

cargo install openapi-gateway
openapi-gateway

After project setup

Open http://127.0.0.1:8080/docs/ to find the configured routes.

Open points

  • Metrics
  • Docker
  • Tags based inclusion/exclusion
Commit count: 50

cargo fmt