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.