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

cr1*_*ng3 3 json swagger swagger-ui

我正在使用 Swagger 来记录 REST API。

我正在上这样的课:

public class Source{ 
    private String url;
    private String category;
    private String label;
    ... 
}
Run Code Online (Sandbox Code Playgroud)

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

{"label": "labelA"}
Run Code Online (Sandbox Code Playgroud)

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

{
    "url": "string",
    "category": "string",
    "label": "string",
    ...
}
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式为每个请求砍掉 Swagger UI 显示的示例值吗?我的意思是 getSourceFromUrl() 请求应该得到一个只包含一个 url 字段的 JSON,并且该示例应该准确地显示这个而不是完整的 Source.class JSON。

谢谢大家!

更新

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

Wan*_*eek 5

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

例子:

@ApiModelProperty(required = false, hidden = true)
private String label;
Run Code Online (Sandbox Code Playgroud)