OpenAPITools / OpenAPITools/openapi-generator

[REQ][jaxrs-spec] Improved support for using sub-resource locators in jaxrs-spec generators

Open
#15,052 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Enhancement: Feature
Dominant language
Java
Stars
26.8k
Forks
7.7k
PR merge metrics
PR metrics pending

Description

Is your feature request related to a problem? Please describe.

When using JAX-RS sub-resource locators i currently have to hand code the @Path annotation, which is annoying and error prone.

Describe the solution you'd like

I would like the content of the @Path annotation on the generated api classes / interfaces to be made available as constants, so they can be used in my sub-resource locators.

Additional context

Example sub-resource locator;

`@ApplicationScoped
@Path("my-prefix/{arg1/{arg2}/" + RestResourceRoot.APPLICATION_PATH)
public class SubresourceApiLocator {

@Path(SubresourceApi.PATH)
public SubresourceApi get(@PathParam("arg1") final String arg1, @PathParam("arg2") final String arg2) {
    return new SubresourceImpl(arg1, arg2);
}

}`

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in the jaxrs-spec generators and inspect how generated API classes and interfaces currently receive their @Path annotations. Add generated constants exposing those paths, then verify that the constants can be used by sub-resource locators like the example; the payload does not name a specific test or file.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, openapi
Domain
backend-api-design, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.