Skip to content

Generic Types (non-GenericWrapperTypes) #136

@ghost

Description

Hello

in the ParserHelper you are generally using "qualifiedTypeName" which works fine except when i have something like this

    @GET
    @Path("bar")
    public Dto<Bar> bar() {
        return null;
    }

    @GET
    @Path("foo")
    public Dto<Foo> foo() {
        return null;
    }

which will result in

        {
            "path": "/api/bar",
            "operations": [
                {
                    "method": "GET",
                    "nickname": "bar",
                    "type": "Dto"
                }
            ]
        },
        {
            "path": "/api/foo",
            "operations": [
                {
                    "method": "GET",
                    "nickname": "foo",
                    "type": "Dto"
                }
            ]
        }

but what you actually want is something like this

        {
            "path": "/api/bar",
            "operations": [
                {
                    "method": "GET",
                    "nickname": "bar",
                    "type": "Dto<Bar>"
                }
            ]
        },
        {
            "path": "/api/foo",
            "operations": [
                {
                    "method": "GET",
                    "nickname": "foo",
                    "type": "Dto<Foo>"
                }
            ]
        }

Using the 'genericWrapperTypes' command line switch is not really an option, because it's not really a wrapper - it contains additional fields that need to be present in the documentation. So what i did as a workaround is returning 'type.ToString()' in 'ParserHelper.getQualifiedTypeName' which solves this problem, but breaks with the existing api, and also my implementation is more than ugly... Any suggestions before I try to clean my implementation (or feel free to do it yourselves:))?

cheers

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions