-
Notifications
You must be signed in to change notification settings - Fork 114
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Architecture board] Should root exposed endpoints respect context root path set by user #163
Comments
Since /health and /metrics are runtime endpoints and not application endpoints, this should stay a) If it is application based, then the OpenAPI documents needs to be generated per application. But health is also about runtime, not application only. so it doesn't make sense to have it per application. |
If the application also contains some servlets apart from JAX-RS endpoints, these servlets will not respect Furthermore, it apparently is possible to have multiple JAX-RS applications (and therefore multiple So my vote is strongly for a) |
We discussed this in the GraphQL meeting. For us, it more about the context path (and not the application path). Most runtimes use Most application servers use the war name (or what ever is set in WEB-INF) as the context root, as there can be more that one app on the app server. Ex: So for us (GraphQL) we always use the context path as the root. If the user set the context root when using a runtime (eg thorntail) the endpoint will be available under the context root. I think this is a good approach, as this allows MP apis to work on traditional application servers. without having to merge endpoints from different (possibly unrelated) applications. |
Thank you all for ideas. Since the architecture call is for now not happening because of the working group discussions, how can we reach a decision here? cc/ @kenfinnigan |
Not correct for Payara (Micro). The context path can be configured by the user. Runtime specific data (like /metrics and /health) should stay at I'm not completely familiar with the use-case for GraphQL, but when it is application specific (which I think it is), it can be under the context root of the application. |
For instance, in Health we have defined /health endpoint in Metrics /metrics endpoint. If the user sets the root context path (
@ApplicationPath("/api")
) should the context root path be respected also for these endpoints? That is, should it be:a/ http://localhost:8080/health
b/ http://localhost:8080/api/health
Just to be precise, this would influence Health, Metrics, OpenAPI, and soon to be introduced GraphQL and potentially AsyncAPI.
The text was updated successfully, but these errors were encountered: