sdaschner / jaxrs-analyzer

Creates REST documentation for JAX-RS projects
Apache License 2.0
319 stars 101 forks source link

not an StringLiteralExpException when using a constant in header name #180

Closed rmpestano closed 5 years ago

rmpestano commented 5 years ago

When using a constant as header name I'm getting an exception, example:

import static javax.ws.rs.core.HttpHeaders.AUTHORIZATION;

@Path("resources")
public class MyRestResource {

    @GET
    public Response get(@HeaderParam(AUTHORIZATION) String token) {

    }

}

Here is the stacktrace:

Caused by: java.lang.IllegalStateException: AUTHORIZATION is not an StringLiteralExpr
    at com.github.javaparser.ast.expr.Expression.asStringLiteralExpr (Expression.java:370)
    at com.sebastian_daschner.jaxrs_analyzer.analysis.javadoc.JavaDocParserVisitor.lambda$createMemberParamTag$6 (JavaDocParserVisitor.java:143)
    at java.util.stream.Collectors.lambda$toMap$58 (Collectors.java:1321)
    at java.util.stream.ReduceOps$3ReducingSink.accept (ReduceOps.java:169)
    at java.util.stream.ReferencePipeline$2$1.accept (ReferencePipeline.java:175)
    at java.util.ArrayList$ArrayListSpliterator.forEachRemaining (ArrayList.java:1382)
    at java.util.stream.AbstractPipeline.copyInto (AbstractPipeline.java:481)
    at java.util.stream.AbstractPipeline.wrapAndCopyInto (AbstractPipeline.java:471

JaxRS analyzer 0.17-SNAPSHOT