使用responseContainer Swagger注释属性标记非平坦容器

时间:2015-03-16 13:03:43

标签: java rest swagger

使用swagger-annotations_2.9.1我正在使用以下

 @Path("/{triggerId}/conditions")
 @Produces(APPLICATION_JSON)
 @ApiOperation(value = "Get a map with all conditions id an specific trigger.",
       responseClass = "Collection<Map<String, String>>",
       notes = "This is a helper for the UI to get all id of the conditions with specific type. It returns a 
       collection of {conditionId: \"value\", className: \"value\" }")
 public void getTriggerConditions(@Suspended final AsyncResponse response, ...)

但是,在2.10 responseClass属性不再存在,我想应该使用responseContainerresponse。但是如何标记非平坦容器(地图集等列表)

实际上,我不确定如何仅使用Map<Foo, Bar>responseContainer

注释简单response
    responseContainer = "Map",
    response = Foo.class,

以及Bar.class怎么办?

1 个答案:

答案 0 :(得分:1)

2.9.1和2.10是不是版本的swagger-core,而是用于编译代码的Scala版本(因为旧版本的swagger-core是用Scala编写的)。

这些版本的

支持地图作为容器,因为当时Swagger规范根本不支持这些容器。

如果您希望将操作记录为返回地图,则必须升级到1.5.X版本。撰写此评论时的当前版本是1.5.0-M2。