package io.swagger.resources;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import io.swagger.annotations.ResponseHeader;
import io.swagger.models.NotFoundModel;
import io.swagger.models.Sample;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.core.Response;
@Api
@Path("/")
public class ResourceWithApiResponseResponseContainer {
@GET
@Path("/{id}")
@ApiOperation(value = "Get object by ID",
notes = "No details provided",
response = Sample.class,
responseContainer = "map",
code = 200,
position = 0,
responseHeaders = {
@ResponseHeader(name = "foo", description = "description", response = String.class, responseContainer = "list")
})
@ApiResponses({
@ApiResponse(code = 400, message = "Invalid ID",
response = NotFoundModel.class,
responseContainer = "list",
responseHeaders = @ResponseHeader(name = "X-Rack-Cache", description = "Explains whether or not a cache was used", response = Boolean.class)),
@ApiResponse(code = 404, message = "object not found")})
public Response getTest() {
return Response.ok().entity("out").build();
}
@PUT
@Path("/{id}")
@ApiOperation(value = "Get object by ID",
notes = "No details provided",
response = Sample.class,
position = 0,
code = 201,
responseHeaders = {
@ResponseHeader(name = "foo", description = "description", response = String.class, responseContainer = "list")
})
@ApiResponses({
@ApiResponse(code = 401, message = "Unauthorized",
response = NotFoundModel.class,
responseContainer = "list",
responseHeaders = @ResponseHeader(name = "X-Rack-Cache", description = "Explains whether or not a cache was used", response = Boolean.class)),
@ApiResponse(code = 405, message = "Method Not Allowed")})
public Response putTest() {
return Response.ok().entity("out").build();
}
@POST
@Path("/{id}")
@ApiOperation(value = "Get object by ID",
notes = "No details provided",
response = Sample.class,
position = 0,
code = 202,
responseHeaders = {
@ResponseHeader(name = "foo", description = "description", response = String.class, responseContainer = "list")
})
@ApiResponses({
@ApiResponse(code = 402, message = "Invalid ID",
response = NotFoundModel.class,
responseHeaders = @ResponseHeader(name = "X-Rack-Cache", description = "Explains whether or not a cache was used", response = Boolean.class)),
@ApiResponse(code = 406, message = "Method Not Allowed")})
public Response postTest() {
return Response.ok().entity("out").build();
}
@DELETE
@Path("/{id}")
@ApiOperation(value = "Get object by ID",
notes = "No details provided",
response = Sample.class,
responseContainer = "other",
position = 0,
code = 203,
responseHeaders = {
@ResponseHeader(name = "foo", description = "description", response = String.class, responseContainer = "list")
})
@ApiResponses({
@ApiResponse(code = 403, message = "Forbidden",
response = NotFoundModel.class,
responseContainer = "wrongValue",
responseHeaders = @ResponseHeader(name = "X-Rack-Cache", description = "Explains whether or not a cache was used", response = Boolean.class)),
@ApiResponse(code = 407, message = "Proxy Authentication Required")})
public Response deleteTest() {
return Response.ok().entity("out").build();
}
@GET
@Path("/{id}/name")
@ApiOperation(value = "Get object by ID",
notes = "No details provided",
response = Sample.class,
responseContainer = "array",
position = 0,
code = 203,
responseHeaders = {
@ResponseHeader(name = "foo", description = "description", response = String.class, responseContainer = "list")
})
@ApiResponses({
@ApiResponse(code = 403, message = "Forbidden",
response = NotFoundModel.class,
responseContainer = "set",
responseHeaders = @ResponseHeader(name = "X-Rack-Cache", description = "Explains whether or not a cache was used", response = Boolean.class))})
public Response getNameTest() {
return Response.ok().entity("out").build();
}
@PUT
@Path("/{id}/name")
@ApiOperation(value = "Get object by ID",
notes = "No details provided",
response = Sample.class,
responseContainer = "set",
position = 0,
code = 203,
responseHeaders = {
@ResponseHeader(name = "foo", description = "description", response = String.class, responseContainer = "set")
})
@ApiResponses({
@ApiResponse(code = 403, message = "Forbidden",
response = NotFoundModel.class,
responseContainer = "array",
responseHeaders = @ResponseHeader(name = "X-Rack-Cache", description = "Explains whether or not a cache was used", response = Boolean.class))})
public Response putNameTest() {
return Response.ok().entity("out").build();
}
}