Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/en/docs/refguide/runtime/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ You need a license to run an application in production mode. Without a license,
You can extend the functionality of the Runtime Server by writing Java actions. For more information, see the [Mendix Runtime API](/apidocs-mxsdk/apidocs/runtime-api-11/).

{{% alert color="info" %}}
If the app contains published services, links to available API documentation such as [OpenAPI documentation](/refguide/open-api/) for [published REST services](/refguide/published-rest-services/), links to [published OData/GraphQL services](/refguide/published-odata-services/), and WSDLs for [published web services](/refguide/published-web-services/), are available on the URL path `/api-doc` (for example: `https://myapp.mendixcloud.com/api-doc/`).
If the app contains published services, links to available API documentation such as [OpenAPI documentation](/refguide/open-api/) for [published REST services](/refguide/published-rest-services/), links to [published OData/GraphQL services](/refguide/published-odata-services/), and WSDLs for [published web services](/refguide/published-web-services/), are available on the URL path `/api-doc` (for example: `https://myapp.mendixcloud.com/api-doc/`). For more information, see [Service Endpoints](/refguide/request-handlers/#service-endpoints) in *Request Handlers*.
{{% /alert %}}

## Documents in This Category
29 changes: 28 additions & 1 deletion content/en/docs/refguide/runtime/request-handlers.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

## Introduction

Communication between the Mendix client and the runtime server happens through various different request handlers.
The Mendix Runtime receives requests through various request handlers. Standard request handlers handle the communication between the Mendix client and the runtime server. Other request handlers expose the services that your app publishes.

## Standard Request Handlers

Expand All @@ -33,6 +33,33 @@
The admin port `root` (`/`) URL is not exposed to clients. It uses a different port from the standard request handlers and is only accessible to system administrators.
{{% /alert %}}

## Service Endpoints {#service-endpoints}

Apps that contain published services expose additional endpoints for handling service requests and for documentation.

Check failure on line 38 in content/en/docs/refguide/runtime/request-handlers.md

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Mendix.ProductNames] Use 'Projects' instead of 'Apps' Raw Output: {"message": "[Mendix.ProductNames] Use 'Projects' instead of 'Apps'", "location": {"path": "content/en/docs/refguide/runtime/request-handlers.md", "range": {"start": {"line": 38, "column": 1}}}, "severity": "ERROR"}

### Published Service Request Handlers {#published-service-handlers}

[Published REST services](/refguide/published-rest-services/) and [published OData services](/refguide/published-odata-services/) register their own request handlers, based on the location that you configure for each service. For example, a published REST service with the location `rest/myservice/v1` is served on `/rest/myservice/v1`.

If the app contains published web services, the `/ws` request handler handles the web service requests.

### Documentation Endpoints {#documentation-endpoints}

The following endpoints provide documentation for the services published by your app:

| Endpoint | Enabled When | Description |
| -------- | ------------ | ----------- |
| `/api-doc` | The app contains a published REST, OData, or web service. | Overview page that links to the other documentation endpoints. See [Mendix Runtime](/refguide/runtime/#apis). |
| `/rest-doc` | The app contains a [published REST service](/refguide/published-rest-services/). | Serves the [OpenAPI documentation](/refguide/open-api/) of each published REST service. |
| `/odata-doc` | The app contains a [published OData service](/refguide/published-odata-services/). | Serves the API documentation of each published OData service. See [API Documentation](/refguide/published-odata-services/#api-documentation). |
| `/ws-doc` | The app contains a [published web service](/refguide/published-web-services/). | Serves the documentation of each published web service, including its WSDL. |

#### Restricting Access to Documentation Endpoints {#restricting-access}

Mendix Cloud denies access to the documentation endpoints by default. The runtime has no setting to disable them. On other deployments, you can restrict access to these paths with a reverse proxy or a web application firewall (WAF).

For more information, see [Path-Based Access Restrictions](/developerportal/deploy/environments-details/#path-based-restrictions) and [Applying Access Restrictions to Unnecessary Request Handlers](/howto/security/best-practices-security/#request-handlers).

## Custom Request Handlers

Custom request handlers can be added using the `com.mendix.core.Core#addRequestHandler({name of the request handler})` API call.
2 changes: 1 addition & 1 deletion content/en/docs/refguide10/runtime/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ You need a license to run an application in production mode. Without a license,
You can extend the functionality of the Runtime Server by writing Java actions. For more information, see the [Mendix Runtime API](/apidocs-mxsdk/apidocs/runtime-api-10/).

{{% alert color="info" %}}
If the app contains published services, links to available API documentation such as [OpenAPI documentation](/refguide10/open-api/) for [published REST services](/refguide10/published-rest-services/), links to [published OData/GraphQL services](/refguide10/published-odata-services/), and WSDLs for [published web services](/refguide10/published-web-services/), are available on the URL path `/api-doc` (for example: `https://myapp.mendixcloud.com/api-doc/`).
If the app contains published services, links to available API documentation such as [OpenAPI documentation](/refguide10/open-api/) for [published REST services](/refguide10/published-rest-services/), links to [published OData/GraphQL services](/refguide10/published-odata-services/), and WSDLs for [published web services](/refguide10/published-web-services/), are available on the URL path `/api-doc` (for example: `https://myapp.mendixcloud.com/api-doc/`). For more information, see [Service Endpoints](/refguide10/request-handlers/#service-endpoints) in *Request Handlers*.
{{% /alert %}}

## Documents in This Category
29 changes: 28 additions & 1 deletion content/en/docs/refguide10/runtime/request-handlers.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ weight: 45

## Introduction

Communication between the Mendix client and the runtime server happens through various different request handlers.
The Mendix Runtime receives requests through various request handlers. Standard request handlers handle the communication between the Mendix client and the runtime server. Other request handlers expose the services that your app publishes.

## Standard Request Handlers

Expand All @@ -22,6 +22,33 @@ The following standard request handlers are used:
| PWA Manifest | `/manifest.webmanifest` | Serves the manifest file that is required for [PWA applications](/refguide10/mobile/introduction-to-mobile-technologies/progressive-web-app/). |
| Mx Dev Tools | `/mxdevtools` | Websocket endpoint that handles client logs and nanoflow debugging. Only enabled during development. |

## Service Endpoints {#service-endpoints}

Apps that contain published services expose additional endpoints for handling service requests and for documentation.

### Published Service Request Handlers {#published-service-handlers}

[Published REST services](/refguide10/published-rest-services/) and [published OData services](/refguide10/published-odata-services/) register their own request handlers, based on the location that you configure for each service. For example, a published REST service with the location `rest/myservice/v1` is served on `/rest/myservice/v1`.

If the app contains published web services, the `/ws` request handler handles the web service requests.

### Documentation Endpoints {#documentation-endpoints}

The following endpoints provide documentation for the services published by your app:

| Endpoint | Enabled When | Description |
| -------- | ------------ | ----------- |
| `/api-doc` | The app contains a published REST, OData, or web service. | Overview page that links to the other documentation endpoints. See [Mendix Runtime](/refguide10/runtime/#apis). |
| `/rest-doc` | The app contains a [published REST service](/refguide10/published-rest-services/). | Serves the [OpenAPI documentation](/refguide10/open-api/) of each published REST service. |
| `/odata-doc` | The app contains a [published OData service](/refguide10/published-odata-services/). | Serves the API documentation of each published OData service. See [API Documentation](/refguide10/published-odata-services/#api-documentation). |
| `/ws-doc` | The app contains a [published web service](/refguide10/published-web-services/). | Serves the documentation of each published web service, including its WSDL. |

#### Restricting Access to Documentation Endpoints {#restricting-access}

Mendix Cloud denies access to the documentation endpoints by default. The runtime has no setting to disable them. On other deployments, you can restrict access to these paths with a reverse proxy or a web application firewall (WAF).

For more information, see [Path-Based Access Restrictions](/developerportal/deploy/environments-details/#path-based-restrictions) and [Applying Access Restrictions to Unnecessary Request Handlers](/howto10/security/best-practices-security/#request-handlers).

## Custom Request Handlers

Custom request handlers can be added using the `com.mendix.core.Core#addRequestHandler({name of the request handler})` API call.
Loading