Custom Base Path
Use a custom property on OpenAPI documents to automatically remove a base path and set the forwarding server.
Custom Base Path#
This examples shows how to store base path and backend server configuration in the servers
object of the OpenAPI and then use a policy to dynamically remove the base path and set the forwarded property of the URL in order to send the request to the correct backend server.
Example OpenAPI Configuration#
Adding the custom extension x-base-path
to the servers object allows us to match the base path to the correct server url.
"servers": [
{
"url": "https://echo.zuplo.io",
"x-base-path": "/my-base-1"
}
],
Import the OpenAPI files#
Zuplo allows importing the OpenAPI JSON files into a module so their configuration can be read.
import { servers as servers1 } from "../config/routes1.oas.json";
import { servers as servers2 } from "../config/routes2.oas.json";
const servers = [...servers1, ...servers2];
A point of caution here. Zuplo's build will import anything that is referenced. So if you import the entire OpenAPI file (i.e. import routes from "../config/routes.oas.json"
), the entire contents will be in your build and could impact your Gateway's performance if you have a particularly large file.
This is why, in the above example, only the { servers }
portion of the file is imported.