Swagger:从参数示例值中删除 class 属性
Swagger: Remove class properties from parameter example value
我正在使用 Swagger 来记录 REST API。
我有一个 class 这样的:
public class Source{
private String url;
private String category;
private String label;
...
}
我目前正在使用@ApiImplicitParam 将数据类型设置为 Source.class,但我有多个 POST 请求将 JSON 作为正文参数,比方说,其中的单个变量,例如:
{"label": "labelA"}
由于之前设置的dataType,Swagger显示的示例值UI是一个整体Source.class,大概是这样的:
{
"url": "string",
"category": "string",
"label": "string",
...
}
我能否以某种方式将 Swagger UI 显示的示例值针对其中的每个请求进行修改?我的意思是 getSourceFromUrl() 请求应该得到一个 JSON,它只包含一个 url 字段,并且这个例子应该准确地显示这个而不是完整的 Source.class JSON.
先谢谢大家了!
更新
我正在使用 JAX-RS。如果需要,请向我询问更多信息。
如果您使用的是 springfox-swagger2 ,则有注释 @ApiModelProperty
可以执行此操作。
示例:
@ApiModelProperty(required = false, hidden = true)
private String label;
你暂时不能做这样的事情。您必须为每个案例创建不同的 class。
参见 swagger-core 的 github:https://github.com/swagger-api/swagger-core/issues/1863#issuecomment-237339565
我正在使用 Swagger 来记录 REST API。
我有一个 class 这样的:
public class Source{
private String url;
private String category;
private String label;
...
}
我目前正在使用@ApiImplicitParam 将数据类型设置为 Source.class,但我有多个 POST 请求将 JSON 作为正文参数,比方说,其中的单个变量,例如:
{"label": "labelA"}
由于之前设置的dataType,Swagger显示的示例值UI是一个整体Source.class,大概是这样的:
{
"url": "string",
"category": "string",
"label": "string",
...
}
我能否以某种方式将 Swagger UI 显示的示例值针对其中的每个请求进行修改?我的意思是 getSourceFromUrl() 请求应该得到一个 JSON,它只包含一个 url 字段,并且这个例子应该准确地显示这个而不是完整的 Source.class JSON.
先谢谢大家了!
更新
我正在使用 JAX-RS。如果需要,请向我询问更多信息。
如果您使用的是 springfox-swagger2 ,则有注释 @ApiModelProperty
可以执行此操作。
示例:
@ApiModelProperty(required = false, hidden = true)
private String label;
你暂时不能做这样的事情。您必须为每个案例创建不同的 class。
参见 swagger-core 的 github:https://github.com/swagger-api/swagger-core/issues/1863#issuecomment-237339565