繁体   English   中英

如何将 Swagger 1.5 中的请求正文更改为示例 JSON 请求正文

[英]How can I change the request body in Swagger 1.5 to an example JSON request body

Swagger 请求的当前外观

身体可以改变吗

{
  "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 捆绑库的Swagger 1.5 我知道 2.0 有 @RequestBody 注释,我只想确保这是我在升级之前唯一的选择。

即使使用@RequestBody我们也需要在TaskConfig类中添加额外的注释。

我们正在使用 Swagger 2.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)))

我得到了如图所示的结果:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM