package io.swagger.resources;
import io.swagger.annotations.Api;
import io.swagger.models.Pagination;
import javax.inject.Inject;
import javax.ws.rs.BeanParam;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
@Path("/resource/{id}")
@Api(value = "/resource", description = "Summary of injections resource")
@Produces({"application/json", "application/xml"})
public class ResourceWithKnownInjections {
private Integer constructorParam;
@QueryParam("fieldParam")
private String fieldParam; // injection into a class field
@BeanParam
private Pagination pagination;
// injection into a constructor parameter
@Inject
public ResourceWithKnownInjections(Integer constructorParam) {
this.constructorParam = constructorParam;
}
@GET
public String get(@QueryParam("methodParam") String methodParam) {
// injection into a resource method parameter
final StringBuilder sb = new StringBuilder();
sb.append("Constructor param: ").append(constructorParam).append("\n");
sb.append("Field param: ").append(fieldParam).append("\n");
sb.append("Method param: ").append(methodParam).append("\n");
return sb.toString();
}
}