我在我的 java EE7 应用程序上使用 swagger(Glassfish 作为应用程序服务器)。除了 FormDataParam 的方法之外,一切正常,这给了我传统的错误:
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";
}
我做错了什么?
最佳答案
它与Glassfish有关,它使用不同版本的Jackson。您需要升级 Glassfish/Jackson。更多详情:
java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyIndex(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Ljava/lang/Integer
解决方案https://github.com/swagger-api/swagger-core/issues/1001<- Upgrading Jackson in GlassFish 4.1
- com.fasterxml.jackson.module.jaxb.JaxbAnnotationIntrospector not found --- while using Swagger
java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyIndex(Lcom/fasterxml/jackson/databind/introspect/Annotated;)Ljava/lang/Integer;
解决方案 - https://groups.google.com/forum/#!topic/swagger-swaggersocket/uQEn-anX_Ogjava.lang.NoSuchMethodError:com.fasterxml.jackson.databind.AnnotationIntrospector.findPropertyDesc
解决方案https://groups.google.com/forum/#!topic/swagger-swaggersocket/x-Pz_3orTCE
关于java - 从 swagger.json 中排除 jax-rs 服务的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39268899/