从swagger.json中排除jax-rs服务的方法

问题描述 投票:0回答:2

我在我的java EE7应用程序上使用swagger(Glassfish作为应用程序服务器)。一切正常,除了FormDataParam的方法,它给了我一个tradicional错误:

org.glassfish.jersey.server.ContainerException: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyIndex(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Ljava/lang/Integer;

我尝试了所有方法,但这只是一种方法,所以我不希望在swagger.json中使用这种方法

如何从swagger中排除此方法。我试过了:

@ApiModelProperty(hidden = true) and @ApiOperation(value="",hidden = true)
@POST
@Path("something")
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response newsomething(@FormParam("something") String something,@Context HttpServletRequest request, @Context HttpServletResponse response) throws IOException {
    return "something";
}

我做错了什么?

java jackson swagger glassfish-4 nosuchmethoderror
2个回答
3
投票

它与Glassfish有关,它使用不同版本的Jackson。你需要升级Glassfish / Jackson。更多细节:


0
投票

对我来说,在路径中添加@ApiModelProperty(hidden = true)是错还是正确?

@ApiModelProperty(hidden = true)
@GET
@Produces({MediaType.APPLICATION_JSON})
@ApiOperation(value = "return getApi ",
        tags = {"getApi"},
        notes = "Returns a Array of getApi",
        hidden = true
        )
@ApiResponses(value = {
        @ApiResponse(response = GetApi.class, message = "", code = 200)
})
@Path("getApi")
public Response getApi(@Context HttpHeaders httpHeaders, @BeanParam QueryParamBean queryParamBean) {
             // codes..
}
© www.soinside.com 2019 - 2024. All rights reserved.