moleculer-web
moleculer-web copied to clipboard
Undefined `actions` property in `/api/~node/services?withActions=true` causes empty REST API page
I have had this bug with the "REST API" page for some time.
Symptoms
- The "REST API" page is blank:
- Services and actions are accessible via Moleculer Runner:
- Manually calling
/api/~node/services?withActions=true
does not return any actions:
Debugging
Upon delving deep into the problem, I discovered:
- An uncaught error in view's
getServiceActions(svc.actions)
due to an undefinedactions
property:
- Applying a
console.log
to the filemoleculer/src/internals.js:L61
shows thewithActions
parameter as false, even when it's explicitly passed in the request:
- Additionally, applying a
console.log
to the filemoleculer/src/registry/service-catalog.js:L117
shows an unrecognized parameter value, as L119 is never reached:
Help
- Is this correct? Am I missing something?
- Should there be improved error handling?
- How can I assist in rectifying this if it's indeed an error?
I discovered that mergeParams: false
was the cause of this issue.
Developers should continue to use this configuration without experiencing side effects in internal services.
I implemented a minor workaround in src/index.js:L455
to force parameter merging for internal services, and it resolved the issue.