in oas-generator/oas-generator-core/src/main/java/org/apache/servicecomb/toolkit/generator/context/OperationContext.java [101:167]
public Operation toOperation() {
if (!hasOperation()) {
return null;
}
if (StringUtils.isEmpty(operationId)) {
operationId = method.getName();
}
operation.operationId(operationId);
processHeaders();
processProduces();
correctResponse(apiResponses);
operation.setResponses(apiResponses);
RequestBody requestBody = new RequestBody();
Content content = new Content();
MediaType mediaType = new MediaType();
// process parameter
List<Parameter> parameterList = parameterContexts.stream()
.map(parameterContext ->
{
// requestBody
if (parameterContext.isRequestBody()) {
Schema schema = mediaType.getSchema();
if (schema == null) {
schema = new ObjectSchema();
mediaType.schema(schema);
}
schema.addProperties(parameterContext.getName(), parameterContext.getSchema());
if (consumes != null) {
for (String consume : getConsumers()) {
content.addMediaType(consume, mediaType);
}
} else {
if (parameterContext.getConsumers() != null && parameterContext.getConsumers().size() > 0) {
for (String consume : parameterContext.getConsumers()) {
content.addMediaType(consume, mediaType);
}
} else {
content.addMediaType(MediaTypes.APPLICATION_JSON, mediaType);
}
}
requestBody.setContent(content);
requestBody.setRequired(parameterContext.getRequired());
return null;
}
// parameter
return parameterContext.toParameter();
})
.filter(parameter -> parameter != null)
.collect(Collectors.toList());
if (parameterList.size() > 0) {
operation.parameters(parameterList);
}
if (!nullRequestBody.equals(requestBody)) {
operation.setRequestBody(requestBody);
}
return operation;
}