Repository navigation
Add JAX-RS endpoint support to the Product Knowledge Graph #54
Replies: 1 comment 1 reply
|
Yes — this fits, and we'd welcome it. Use the existing Endpoint and EXPOSES graph types exactly as you propose. The C# extractor already does the same thing for ASP.NET routes, so there is a working pattern to copy, and nothing conflicts with work in progress. The timing is also good: the knowledge base now includes an API surface page that is generated automatically for any repo whose graph contains endpoints — your contribution switches that on for Java REST services with no extra work. Answers to your questions
Yes. Endpoints and EXPOSES were designed to be language-neutral; C# is simply the first language that emits them. Framework-aware edges are an established capability, and Java is the natural next language. Your plan also puts the logic in the right place — the extractor, not the renderers — which matches how the graph is meant to grow.
Yes, with this exact shape so Java matches C#: Edge direction is endpoint → handler.
Stay per-file: class and method annotations are in the same file, so no whole-repo pass is needed.
Suggestions from our side
Practicalities |
Uh oh!
There was an error while loading. Please reload this page.
Hi team,
I would like to contribute JAX-RS endpoint detection to Spine.
Spine already understands Java classes and methods. However, I could not find support for identifying JAX-RS REST endpoints in the Product Knowledge Graph.
For example:
Spine could identify this as:
Initial scope
I propose starting with:
Why this can help
This would help Spine:
This would be useful for JAX-RS, Jakarta REST and Helidon applications.
Out of scope for this change
To keep the contribution small, I would not include:
These can be discussed as separate improvements later.
Questions
Before I start, I would like guidance on:
Does this fit the current direction of the Spine Product Knowledge Graph?
Should JAX-RS endpoints use the existing Endpoint and EXPOSES graph types?
Are there existing extractor patterns that I should follow?
Is there any work already in progress for Java framework support?
All reactions