Java 从swagger.json中排除jax rs服务的方法
我在JavaEE7应用程序(Glassfish作为应用服务器)上使用了swagger。除了使用FormDataParam的方法之外,其他方法都可以正常工作,这给了我一个传统错误:Java 从swagger.json中排除jax rs服务的方法,java,jackson,swagger,glassfish-4,nosuchmethoderror,Java,Jackson,Swagger,Glassfish 4,Nosuchmethoderror,我在JavaEE7应用程序(Glassfish作为应用服务器)上使用了swagger。除了使用FormDataParam的方法之外,其他方法都可以正常工作,这给了我一个传统错误: org.glassfish.jersey.server.ContainerException: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyIndex(Lcom/faster
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中使用这个方法
我怎样才能排除这种招摇过市的方法呢。我试过:
@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";
}
我做错了什么?这与Glassfish有关,它使用了不同版本的Jackson。您需要升级Glassfish/Jackson。更多详情:
解决方案java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyIndex(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Ljava/lang/Integer
java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyIndex(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Ljava/lang/Integer代码>解决方案-
解决方案java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyDesc
解决方案java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyIndex(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Ljava/lang/Integer
java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyIndex(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Ljava/lang/Integer代码>解决方案-
解决方案java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyDesc
@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..
}
对于我来说,在路径中添加@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..
}
升级GlassFish 4.1中的Jackson是我的解决方案升级GlassFish 4.1中的Jackson是我的解决方案