In your mta.yaml
you can define environment variables, which are filled during deployment. They can be filled with MTA Development and Deployment Parameters. Click here for an overview.
To get the URL of your deployed CAP service, simply use the ${default-url} parameter and pass the value to a variable below the properties attribute, e.g. SRV_URL
. The approuter has to provide its default-url, which can then be used in the service for a variable, e.g. APPROUTER_URL
.
#####################################################################################################################
# Approuter
#####################################################################################################################
- name: approuter
type: approuter.nodejs
path: app/approuter
provides:
- name: app-api
properties:
app-url: ${default-url} # <---------------------------- provides approuter url
app-uri: ${default-uri} # <---------------------------- provides approuter uri/hostname
app-protocol: ${protocol} # <---------------------------- provides approuter protocol
#####################################################################################################################
# Business Service Module
#####################################################################################################################
- name: mySrv
type: nodejs
path: gen/srv
requires:
- name: app-api # <---------------------------------------- required to access the provided variables of the approuter
properties:
SRV_URL: ${default-url}
APPROUTER_URL: ~{app-api/app-url}
SUBSCRIPTION_URL: ~{app-api/app-protocol}://\${tenant_subdomain}-~{app-api/app-uri}
After deployment, you can now access the URL via process.env.SRV_URL
in a service handler. During development, simply use the .env file to provide the SRV_URL
value.
You can check all the variables via the BTP Cockpit: Subaccount → Space → Select application → User-Provided Variables