Json Swagger@QueryParam导致错误删除向导

Json Swagger@QueryParam导致错误删除向导,json,jackson,swagger,dropwizard,Json,Jackson,Swagger,Dropwizard,我添加了@QueryParam作为REST注释的一部分,但当我与swagger集成时,在生成swagger JSON时会导致以下错误: Exception in thread "main" java.lang.IllegalArgumentException: Unrecognized Type: [null] at com.fasterxml.jackson.databind.type.TypeFactory._constructType(TypeFactory.java:406)

我添加了@QueryParam作为REST注释的一部分,但当我与swagger集成时,在生成swagger JSON时会导致以下错误:

Exception in thread "main" java.lang.IllegalArgumentException: Unrecognized Type: [null]
    at com.fasterxml.jackson.databind.type.TypeFactory._constructType(TypeFactory.java:406)
    at com.fasterxml.jackson.databind.type.TypeFactory.constructType(TypeFactory.java:354)
    at com.fasterxml.jackson.databind.ObjectMapper.constructType(ObjectMapper.java:1187)
    at com.wordnik.swagger.jackson.ModelResolver.resolveProperty(ModelResolver.java:62)
    at com.wordnik.swagger.converter.ModelConverterContextImpl.resolveProperty(ModelConverterContextImpl.java:59)
    at com.wordnik.swagger.jackson.ModelResolver.resolveProperty(ModelResolver.java:160)
    at com.wordnik.swagger.jackson.ModelResolver.resolveProperty(ModelResolver.java:62)
    at com.wordnik.swagger.converter.ModelConverterContextImpl.resolveProperty(ModelConverterContextImpl.java:59)
    at com.wordnik.swagger.converter.ModelConverters.readAsProperty(ModelConverters.java:71)
    at com.wordnik.swagger.jaxrs.DefaultParameterExtension.extractParameters(DefaultParameterExtension.java:49)
    at com.wordnik.swagger.jersey.SwaggerJersey2Jaxrs.extractParameters(SwaggerJersey2Jaxrs.java:100)
    at com.wordnik.swagger.jaxrs.Reader.getParameters(Reader.java:542)
    at com.wordnik.swagger.jaxrs.Reader.parseMethod(Reader.java:519)
    at com.wordnik.swagger.jaxrs.Reader.read(Reader.java:155)
    at com.wordnik.swagger.jaxrs.Reader.read(Reader.java:64)
    at com.wordnik.swagger.jaxrs.Reader.read(Reader.java:55)
    at com.wordnik.swagger.jaxrs.config.BeanConfig.setScan(BeanConfig.java:148)
有人知道怎么解决吗?是依赖性错误吗

我正在使用swagger com.wordnik swagger-jersey2-jaxrs版本1.5.1-M2。有什么想法吗

附加方法细节

    @GET
    @Path("/stuff/test")
    @ApiOperation(value = "Get some data", notes = "Returns some data", response = Existing.class, responseContainer = "List")
    @ApiResponses(value = { @ApiResponse(code = 404, message = "some error message") })
    @Timed
    public Response getData(
            @ApiParam(value = "filter", required = false, name = "filter") @QueryParam("filter") Optional<String> filterParam)
            throws Exception {
//codes here
}
@GET
@路径(“/stuff/test”)
@ApiOperation(value=“获取一些数据”,notes=“返回一些数据”,response=Existing.class,responseContainer=“列表”)
@ApiResponses(值={@ApiResponse(code=404,message=“some error message”)})
@定时
公众响应getData(
@ApiParam(value=“filter”,required=false,name=“filter”)@QueryParam(“filter”)可选filterParam)
抛出异常{
//这里的代码
}

当我忘记在Application.run方法中添加以下映射细节时,我遇到了类似的错误:

environment.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL)


如果没有此设置,空值的映射将失败,这可能对应于您的可选设置

这似乎是从1.3迁移到1.5的回归。过去我们处理过
可选的
,但它很可能在转换过程中失败了


您现在能做的最好的事情就是在swagger core上打开一个问题。

如果您添加方法签名(包括注释),这会有所帮助(.@Ron我已添加了方法签名。仅出于测试目的,您是否可以在不使用
可选项的情况下尝试此操作?
?保留字符串,看看是否会出现相同的错误。是的,删除可选项会使其正常运行。但我希望保留可选项。这可能是一个一般性问题,因为我使用的是可选项。尝试了此操作后,仍然失败相同的错误消息。这可能是一个一般性问题,因为我使用的是可选的。