Hi everyone,
In previous versions of Ignition, I used to read the license state from this URL:
http://localhost:8088/main/data/my-module/licenseState
with the following code in my module:
@Override
public void mountRouteHandlers(RouteGroup routes) {
routes.newRoute("/licenseState")
.type("application/json")
.handler(this::fetchLicenseState)
.mount();
}
After upgrading to Ignition 8.3, this URL no longer works (returns 404).
Has anyone else encountered this change in the route paths for custom modules in 8.3?
Is there a new recommended way to expose module license state via HTTP in 8.3?
Any guidance would be greatly appreciated!
Thanks!
The problem is likely the implicit main/
- that redirect was deprecated since 8.0, and finally removed in 8.3.
Try just localhost:8088/data/my-module/licenseState
.
Thanks for the tip! I tried accessing http://localhost:8088/data/my-module/licenseState
, but I still get a 404 Not Found error.
Based on the code you posted it would be http://localhost:8088/data/my-module/component/licenseState
1 Like
Kevin.Herron:
component
I had mistakenly put /component in the path and I've fixed it now. Thanks for pointing it out!
Could this be an unresolved bug in Ignition 8.3
Probably not, practically every Ignition module that has a route uses the same API.
Does your module hook override getMountPathAlias
to return "my-module", or if not, are you sure you're using the module id where "my-module" would go? Have you added logging to verify your mountRouteHandlers
is running?
Ahh, add either:
.accessControl(AccessControlStrategy.OPEN_ROUTE)
or
.requirePermission(PermissionType.READ)
while building the route.
1 Like
Thanks a lot! Adding .accessControl(AccessControlStrategy.OPEN_ROUTE)
fixed the issue. Really appreciate your help!