Similarityoung opened a new pull request, #1429:
URL: https://github.com/apache/dubbo-admin/pull/1429
## Description
This PR adds structured service method introspection and generic invoke
capabilities to Dubbo Admin console, and tightens the generic invoke contract
to rely on provider metadata instead of client-supplied parameter types.
### What changed
- Added console APIs for service method discovery:
- `GET /api/v1/service/methods`
- `GET /api/v1/service/method/detail`
- `POST /api/v1/service/generic/invoke`
- Extended method detail response to include:
- `signature`
- method-related `types` closure derived from provider metadata
- Changed generic invoke request contract:
- removed client-provided `parameterTypes`
- added `signature`
- backend now resolves authoritative `parameterTypes` from provider
metadata by `service + methodName + signature`
- Added stricter overload handling:
- if `signature` is omitted and the method is overloaded, return
`InvalidArgument`
- if only fallback metadata exists without structured `Methods/Types`,
return a clear error instead of guessing
- Refactored generic invoke argument decoding:
- switched request `args` to `[]json.RawMessage`
- decode values after metadata resolution based on target parameter types
- supports numeric primitives, primitive arrays, object arrays, JVM array
descriptors, and `char`
- Included a small ZK governor compatibility fix when creating nodes
---
To help us figure out who should review this PR, please put an X in all the
areas that this PR affects.
- [ ] Docs
- [ ] Installation
- [ ] User Experience
- [ ] Dubboctl
- [x] Console
- [x] Core Component
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]