forked from loafle/openapi-generator-original
better handling of api response
This commit is contained in:
parent
836d426d21
commit
537737730b
@ -4331,7 +4331,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
if (code == null) {
|
||||
return null;
|
||||
}
|
||||
return responses.get(code);
|
||||
return ModelUtils.getReferencedApiResponse(openAPI, responses.get(code));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -4363,7 +4363,8 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
CodegenOperation op,
|
||||
ApiResponse methodResponse,
|
||||
Map<String, String> schemaMappings) {
|
||||
Schema responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(openAPI, methodResponse));
|
||||
ApiResponse response = ModelUtils.getReferencedApiResponse(openAPI, methodResponse);
|
||||
Schema responseSchema = unaliasSchema(ModelUtils.getSchemaFromResponse(openAPI, response));
|
||||
|
||||
if (responseSchema != null) {
|
||||
CodegenProperty cm = fromProperty("response", responseSchema, false);
|
||||
@ -4416,7 +4417,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
}
|
||||
op.returnProperty = cm;
|
||||
}
|
||||
addHeaders(methodResponse, op.responseHeaders);
|
||||
addHeaders(response, op.responseHeaders);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -4482,7 +4483,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
ApiResponse methodResponse = findMethodResponse(operation.getResponses());
|
||||
for (Map.Entry<String, ApiResponse> operationGetResponsesEntry : operation.getResponses().entrySet()) {
|
||||
String key = operationGetResponsesEntry.getKey();
|
||||
ApiResponse response = operationGetResponsesEntry.getValue();
|
||||
ApiResponse response = ModelUtils.getReferencedApiResponse(openAPI, operationGetResponsesEntry.getValue());
|
||||
addProducesInfo(response, op);
|
||||
CodegenResponse r = fromResponse(key, response);
|
||||
Map<String, Header> headers = response.getHeaders();
|
||||
@ -4552,9 +4553,10 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
List<Map<String, String>> examples = new ArrayList<>();
|
||||
|
||||
for (String statusCode : operation.getResponses().keySet()) {
|
||||
ApiResponse apiResponse = operation.getResponses().get(statusCode);
|
||||
ApiResponse apiResponse = ModelUtils.getReferencedApiResponse(openAPI, operation.getResponses().get(statusCode));
|
||||
Schema schema = unaliasSchema(ModelUtils.getSchemaFromResponse(openAPI, apiResponse));
|
||||
if (schema == null) {
|
||||
// void response
|
||||
continue;
|
||||
}
|
||||
|
||||
@ -5142,7 +5144,7 @@ public class DefaultCodegen implements CodegenConfig {
|
||||
parameterModelName = getParameterDataType(parameter, parameterSchema);
|
||||
CodegenProperty prop;
|
||||
if (this instanceof RustServerCodegen) {
|
||||
// for rust server, we need to do somethings special as it uses
|
||||
// for rust server, we need to do something special as it uses
|
||||
// $ref (e.g. #components/schemas/Pet) to determine whether it's a model
|
||||
prop = fromProperty(parameter.getName(), parameterSchema, false);
|
||||
} else if (getUseInlineModelResolver()) {
|
||||
|
@ -587,7 +587,7 @@ public class K6ClientCodegen extends DefaultCodegen implements CodegenConfig {
|
||||
}
|
||||
|
||||
for (Map.Entry<String, ApiResponse> responseEntry : operation.getResponses().entrySet()) {
|
||||
CodegenResponse r = fromResponse(responseEntry.getKey(), responseEntry.getValue());
|
||||
CodegenResponse r = fromResponse(responseEntry.getKey(), ModelUtils.getReferencedApiResponse(openAPI, responseEntry.getValue()));
|
||||
if (r.baseType != null &&
|
||||
!defaultIncludes.contains(r.baseType) &&
|
||||
!languageSpecificPrimitives.contains(r.baseType)) {
|
||||
@ -1056,6 +1056,7 @@ public class K6ClientCodegen extends DefaultCodegen implements CodegenConfig {
|
||||
* @return true if should be hidden, false otherwise
|
||||
*/
|
||||
private boolean shouldHideOperationResponse(ApiResponse resp) {
|
||||
resp = ModelUtils.getReferencedApiResponse(openAPI, resp);
|
||||
boolean hideOperationResponse = false;
|
||||
|
||||
if (Objects.nonNull(resp.getExtensions()) && !resp.getExtensions().isEmpty()
|
||||
|
@ -345,7 +345,7 @@ public class OCamlClientCodegen extends DefaultCodegen implements CodegenConfig
|
||||
if (operation.getResponses() != null) {
|
||||
for (Map.Entry<String, ApiResponse> operationGetResponsesEntry : operation.getResponses().entrySet()) {
|
||||
String s = operationGetResponsesEntry.getKey();
|
||||
ApiResponse apiResponse = operationGetResponsesEntry.getValue();
|
||||
ApiResponse apiResponse = ModelUtils.getReferencedApiResponse(openAPI, operationGetResponsesEntry.getValue());
|
||||
if (apiResponse.getContent() != null) {
|
||||
Content content = apiResponse.getContent();
|
||||
for (String p : content.keySet()) {
|
||||
|
@ -475,6 +475,7 @@ public class RustAxumServerCodegen extends AbstractRustCodegen implements Codege
|
||||
} else {
|
||||
original = operation.getResponses().get(rsp.code);
|
||||
}
|
||||
original = ModelUtils.getReferencedApiResponse(openAPI, original);
|
||||
|
||||
// Create a unique responseID for this response, if one is not already specified with the "x-response-id" extension
|
||||
if (!rsp.vendorExtensions.containsKey("x-response-id")) {
|
||||
|
@ -656,6 +656,7 @@ public class RustServerCodegen extends AbstractRustCodegen implements CodegenCon
|
||||
} else {
|
||||
original = operation.getResponses().get(rsp.code);
|
||||
}
|
||||
original = ModelUtils.getReferencedApiResponse(openAPI, original);
|
||||
String[] words = rsp.message.split("[^A-Za-z ]");
|
||||
|
||||
// Create a unique responseID for this response.
|
||||
|
Loading…
x
Reference in New Issue
Block a user