-
Notifications
You must be signed in to change notification settings - Fork 169
Description
Describe the bug
Prior to #1520, every endpoint listed in the response body for /actuator
or /cloudfoundryapplication
had "templated": false
, which was not necessarily accurate since it should indicate whether the endpoint accepts parameters, and some of them do.
The change seems reasonable, but resulted in /loggers
disappearing from Spring Boot Admin. I've not seen anywhere else that's affected.
As far as hypermedia goes, it seems like the responses should have additional data (like verb), but Steeltoe is not in control of the standard here, so our options seem to be either reverting to the old behavior or building new functionality to align with Spring's hypermedia response, which effectively duplicates the relevant endpoints (see a response below)
Steeltoe does not currently define named parameters for actuator routes (see the /mappings reponse), so it could get fairly involved to add this feature
This is the relevant portion of an /actuator
response from a Spring app:
{
"_links": {
"caches-cache": {
"href": "http://localhost:8080/actuator/caches/{cache}",
"templated": true
},
"caches": {
"href": "http://localhost:8080/actuator/caches",
"templated": false
},
"health-path": {
"href": "http://localhost:8080/actuator/health/{*path}",
"templated": true
},
"health": {
"href": "http://localhost:8080/actuator/health",
"templated": false
},
"configprops": {
"href": "http://localhost:8080/actuator/configprops",
"templated": false
},
"configprops-prefix": {
"href": "http://localhost:8080/actuator/configprops/{prefix}",
"templated": true
},
"env": {
"href": "http://localhost:8080/actuator/env",
"templated": false
},
"env-toMatch": {
"href": "http://localhost:8080/actuator/env/{toMatch}",
"templated": true
},
"loggers-name": {
"href": "http://localhost:8080/actuator/loggers/{name}",
"templated": true
},
"loggers": {
"href": "http://localhost:8080/actuator/loggers",
"templated": false
},
"metrics": {
"href": "http://localhost:8080/actuator/metrics",
"templated": false
},
"metrics-requiredMetricName": {
"href": "http://localhost:8080/actuator/metrics/{requiredMetricName}",
"templated": true
},
"sbom": {
"href": "http://localhost:8080/actuator/sbom",
"templated": false
},
"sbom-id": {
"href": "http://localhost:8080/actuator/sbom/{id}",
"templated": true
}
}
}