I have a sample REST endpoint like the following..
@POST @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) @Path("/{designName}/remoteReference") @ApiOperation(value = "Create an external reference to the service design", response = java.util.Map.class, tags = {"/v1/design", "All Apis", "Working with designs"}) @ApiResponses(value = {@ApiResponse(code = 200, message = "Successful operation", examples = @Example(value = {@ExampleProperty(mediaType = "application/json", value = "{}")})), @ApiResponse(code = 400, message = "Bad request"), @ApiResponse(code = 403, message = "Authorization failure")}) @Override public Response createRemoteReference(@ApiParam(value = "Name of service design", required = true) @PathParam("designName") String designName, Map<Object, Object> remoteReferenceParams, @Context HttpServletRequest servletRequest) {
and I wish to provide an example for the 'body' argument appearing in Swagger UI such as: { "id": anId", "displayName": "aDisplayName", "description" : "aDescription" }
We're using swagger via the following maven dependency: <groupId>io.swagger</groupId> <artifactId>swagger-jersey2-jaxrs</artifactId> <version>1.6.2</version>
and the annotations are from the following imports:
import io.swagger.annotations.*;
The @ApiResponse annotation renders any sample JSON placed in the value of @Example beautifully; but I cannot get the POST body to render at all.
I would like to know how to annotate the Java REST endpoint such that the POST body element can display the example JSON.