use of io.swagger.annotations.Api in project swagger-core by swagger-api.
the class ServletReaderExtension method applyConsumes.
@Override
public void applyConsumes(ReaderContext context, Operation operation, Method method) {
final List<String> consumes = new ArrayList<String>();
final ApiOperation apiOperation = ReflectionUtils.getAnnotation(method, ApiOperation.class);
if (apiOperation != null) {
consumes.addAll(parseStringValues(apiOperation.consumes()));
}
if (consumes.isEmpty()) {
final Api apiAnnotation = context.getCls().getAnnotation(Api.class);
if (apiAnnotation != null) {
consumes.addAll(parseStringValues(apiAnnotation.consumes()));
}
consumes.addAll(context.getParentConsumes());
}
for (String consume : consumes) {
operation.consumes(consume);
}
}
use of io.swagger.annotations.Api in project swagger-core by swagger-api.
the class ServletReaderExtension method getPath.
@Override
public String getPath(ReaderContext context, Method method) {
final Api apiAnnotation = context.getCls().getAnnotation(Api.class);
final ApiOperation apiOperation = ReflectionUtils.getAnnotation(method, ApiOperation.class);
final String operationPath = apiOperation == null ? null : apiOperation.nickname();
return PathUtils.collectPath(context.getParentPath(), apiAnnotation == null ? null : apiAnnotation.value(), method.getName());
}
use of io.swagger.annotations.Api in project swagger-core by swagger-api.
the class ServletReaderExtension method applySecurityRequirements.
@Override
public void applySecurityRequirements(ReaderContext context, Operation operation, Method method) {
final List<SecurityRequirement> securityRequirements = new ArrayList<SecurityRequirement>();
final ApiOperation apiOperation = ReflectionUtils.getAnnotation(method, ApiOperation.class);
final Api apiAnnotation = context.getCls().getAnnotation(Api.class);
if (apiOperation != null) {
securityRequirements.addAll(parseAuthorizations(apiOperation.authorizations()));
}
if (securityRequirements.isEmpty() && apiAnnotation != null) {
securityRequirements.addAll(parseAuthorizations(apiAnnotation.authorizations()));
}
for (SecurityRequirement securityRequirement : securityRequirements) {
operation.security(securityRequirement);
}
}
use of io.swagger.annotations.Api in project swagger-core by swagger-api.
the class ServletReaderExtension method applyProduces.
@Override
public void applyProduces(ReaderContext context, Operation operation, Method method) {
final List<String> produces = new ArrayList<String>();
final ApiOperation apiOperation = ReflectionUtils.getAnnotation(method, ApiOperation.class);
if (apiOperation != null) {
produces.addAll(parseStringValues(apiOperation.produces()));
}
if (produces.isEmpty()) {
final Api apiAnnotation = context.getCls().getAnnotation(Api.class);
if (apiAnnotation != null) {
produces.addAll(parseStringValues(apiAnnotation.produces()));
}
produces.addAll(context.getParentProduces());
}
for (String produce : produces) {
operation.produces(produce);
}
}
use of io.swagger.annotations.Api in project swagger-core by swagger-api.
the class Reader method getSubResource.
protected Class<?> getSubResource(Method method) {
final Class<?> rawType = method.getReturnType();
final Class<?> type;
if (Class.class.equals(rawType)) {
type = getClassArgument(method.getGenericReturnType());
if (type == null) {
return null;
}
} else {
type = rawType;
}
if (type.getAnnotation(Api.class) != null) {
return type;
}
// For sub-resources that are not annotated with @Api, look for any HttpMethods.
for (Method m : type.getMethods()) {
if (extractOperationMethod(null, m, null) != null) {
return type;
}
}
return null;
}
Aggregations