简体   繁体   中英

How to define swagger annotation for json payload

how to define swagger annotation for this example post API.TenantConfiguration is getting as a json payload.

@Consumes({ "application/json", "application/xml" })
@POST
    public Message configureSettings(TenantConfiguration configuration)
            throws AndroidAgentException {
.....................
}

I found a solution to annotate json consuming Jax-rs Apis.It's working properly.

@POST
@ApiOperation(
        consumes = MediaType.APPLICATION_JSON,
        httpMethod = "POST",
        value = "Configuring Android Platform Settings",
        notes = "Configure the Android platform settings using this REST API"
)
@ApiResponses(value = {
        @ApiResponse(code = 201, message = "Android platform configuration saved successfully"),
        @ApiResponse(code = 500, message = "Internal Server Error")
})
Message configureSettings(@ApiParam(name = "configuration", value = "AndroidPlatformConfiguration")
                                  TenantConfiguration configuration) throws AndroidAgentException;

Mapping class for the JSON object.

@XmlRootElement(
name = "tenantConfiguration"
)
@XmlAccessorType(XmlAccessType.NONE)
@ApiModel(
value = "TenantConfiguration",description = "This class carries all 
information related to a Tenant     configuration"
)
public class TenantConfiguration implements Serializable {
@XmlElement(
    name = "type"
)
@ApiModelProperty(
    name = "type",
    value = "type of device",
    required = true
)
private String type;
@ApiModelProperty(
    name = "configuration",
    value = "List of Configuration Entries",
    required = true
)
@XmlElement(
    name = "configuration"
)
private List<ConfigurationEntry> configuration;

public TenantConfiguration() {
}

public String getType() {
    return this.type;
}

public void setType(String type) {
    this.type = type;
}

public List<ConfigurationEntry> getConfiguration() {
    return this.configuration;
}

public void setConfiguration(List<ConfigurationEntry> configuration) {
    this.configuration = configuration;
 }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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