【发布时间】:2015-04-22 01:55:37
【问题描述】:
我添加了@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
}
【问题讨论】:
-
如果您添加方法签名(包括注释(.
-
@Ron 我已经添加了方法签名。
-
仅用于测试目的,您可以在没有
Optional的情况下尝试吗?保留字符串,看看它是否给你同样的错误。 -
是的,删除 Optional 将使其运行良好。但我想保留 Optional。
-
这可能是一个普遍问题,因为我使用的是 Optional
。
标签: json jackson swagger dropwizard