use of io.swagger.models.Method in project swagger-parser by swagger-api.
the class SwaggerCompatConverter method convertOperation.
public Operation convertOperation(String tag, io.swagger.models.apideclaration.Operation operation, ApiDeclaration apiDeclaration) {
Method method;
if (operation.getMethod() == null) {
JsonNode node = (JsonNode) operation.getExtraFields().get("httpMethod");
method = Method.forValue(node.asText());
operation.setMethod(method);
}
Operation output = new Operation().summary(operation.getSummary()).description(operation.getNotes()).operationId(operation.getNickname());
if (tag != null) {
output.tag(tag);
}
for (io.swagger.models.apideclaration.Parameter parameter : operation.getParameters()) {
output.parameter(convertParameter(parameter));
}
if (operation.getConsumes() != null && !operation.getConsumes().isEmpty()) {
for (String consumes : operation.getConsumes()) {
output.consumes(consumes);
}
} else if (apiDeclaration.getConsumes() != null) {
for (String consumes : apiDeclaration.getConsumes()) {
output.consumes(consumes);
}
}
if (operation.getProduces() != null && !operation.getProduces().isEmpty()) {
for (String produces : operation.getProduces()) {
output.produces(produces);
}
} else if (apiDeclaration.getProduces() != null) {
for (String produces : apiDeclaration.getProduces()) {
output.produces(produces);
}
}
for (ResponseMessage message : operation.getResponseMessages()) {
Response response = new Response().description(message.getMessage());
Model responseModel = null;
if (message.getResponseModel() != null) {
response.schema(new RefProperty(message.getResponseModel()));
}
output.response(message.getCode(), response);
}
// default response type
Property responseProperty = propertyFromTypedObject(operation);
Response response = new Response().description("success").schema(responseProperty);
if (output.getResponses() == null) {
output.defaultResponse(response);
} else if (responseProperty != null) {
output.response(200, response);
}
Map<String, List<AuthorizationScope>> auths = operation.getAuthorizations();
for (String securityName : auths.keySet()) {
List<AuthorizationScope> scopes = auths.get(securityName);
List<String> updatedScopes = new ArrayList<String>();
for (AuthorizationScope s : scopes) {
updatedScopes.add(s.getScope());
}
output.addSecurity(securityName, updatedScopes);
}
return output;
}
Aggregations