Current look of Swagger request
是否可以更改机身
{
"config": {
"additionalProp1": {},
"additionalProp2": {},
"additionalProp3": {}
},
"class": "string"
}
看起来像
{
"class": "my.class.com",
"config": {
"myParam": "",
"datacenter": "USA",
}
当前方法看起来像这样
@POST
@Path("/run")
@Consumes(MediaType.APPLICATION_JSON)
@ApiOperation(value = "Runs a specified job asynchronously",
notes = "Doesn't work for full tasks.")
public Response createTask(TaskConfig taskConfig) {
TaskConfig是具有两个成员变量的基本类
public class TaskConfig {
@JsonProperty("class")
@NotNull
private String clazz;
private Map<String, Object> config;
我们正在使用Dropwizard Swagger bundle library.中的Swagger 1.5,我知道2.0具有@RequestBody批注,我只想确保这是我唯一的选择,然后再进行升级。
答案 0 :(得分:0)
即使使用@RequestBody
,我们也需要在TaskConfig
类中添加其他注释。
我们正在使用Swagger2.0.x。 TaskConfig类将具有类似以下内容的字段:
@Schema(
description = " My descriptions",
type = "array",
example = " {\"myParam\" :\"value\" ,"
+ "\"datacenter\": \"USA\"}")
private Map<String, Object> config;
类似地,clazz
也可以这样注释:
@Schema(description = "The field descrition", example = "true")
RequestBody
注释将如下所示:
@RequestBody(
description = "Description of TaskConfig ",
content = @Content(schema = @Schema(implementation = TaskConfig .class)))
我得到的结果如图所示: