Swagger:从参数示例值中删除类属性

时间:2016-07-26 09:18:05

标签: json swagger swagger-ui

我使用Swagger来记录REST API。

我正在上这样的课程:

public class Source{ 
    private String url;
    private String category;
    private String label;
    ... 
}

我目前正在使用@ApiImplicitParam将dataType设置为Source.class,但是我有多个POST请求将JSON作为body参数,例如,使用这些参数的单个变量,例如:

{"label": "labelA"}

由于之前设置的dataType,Swagger UI显示的示例值是一个完整的Source.class,如下所示:

{
    "url": "string",
    "category": "string",
    "label": "string",
    ...
}

我可以以某种方式切断Swagger UI显示的每个请求的示例值吗?我的意思是getSourceFromUrl()请求应该获得一个只包含url字段的JSON,示例应该显示这个而不是完整的Source.class JSON。

提前谢谢大家!

更新

我正在使用JAX-RS。如果需要,请问我更多的意见。

2 个答案:

答案 0 :(得分:2)

如果您使用的是springfox-swagger2,则会有一个注释@ApiModelProperty来执行此操作。

示例:

@ApiModelProperty(required = false, hidden = true)
private String label;

答案 1 :(得分:0)

目前,你不能做这样的事情。你必须为每个案例创建一个不同的类。

参见swagger-core的github:https://github.com/swagger-api/swagger-core/issues/1863#issuecomment-237339565