Project Directory
When you Initialize a WSO2 API Microgateway project, it creates a directory structure for the project in the location where you ran the command. An empty api_definitions
folder is created inside the project directory. You, as an API developer, can add multiple open API definitions inside the api_definitions
folder. You can modify the Open API definition using open API vendor specific extensions for the purpose of specifying the backend endpoint details, request and response interceptors, throttle policies, CORS configuration and more.
After the project is initialized, you will notice that a directory based on the name of the MGW project (e.g., petstore) has been created within the directory where you executed the init
command. The folder structure is similar to the following.
[project_name] ├── api_definitions ├── conf │ └── deployment-config.toml ├── extensions │ ├── extension_filter.bal │ ├── startup_extension.bal │ └── token_revocation_extension.bal ├── interceptors ├── policies.yaml ├── services │ ├── authorize_endpoint.bal │ ├── revoke_endpoint.bal │ ├── token_endpoint.bal │ └── user_info_endpoint.bal └── target └── gen
The following table explains the usage of each folder.
Folder | Description |
---|---|
api_definitions | Stores Open API definitions. |
conf | Includes the deployment-config.toml file. This file includes details of the Docker image or the Kubernetes artifacts that needs to be created including the Microgateway project. The Docker image or the Kubernetes artifact are generated at build time. |
extensions | Includes the following extensions.
|
gen/api_definitions | Is it used to store all the OpenAPI definitions of the APIs that you import from WSO2 API Manager. |
interceptors | Includes any request interceptors or response interceptors that you use for the APIs in the Microgateway project. An interceptor is able to perform mediation and transformation on a request or response. |
| This specifies the predefined policies used for the project. |
| This inclues the following services.
|
| Includes the runtime artifacts from the build command. |
| Is it used to store all the generated Ballerina sources. |