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) {
|
if (code == null) {
|
||||||
return 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,
|
CodegenOperation op,
|
||||||
ApiResponse methodResponse,
|
ApiResponse methodResponse,
|
||||||
Map<String, String> schemaMappings) {
|
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) {
|
if (responseSchema != null) {
|
||||||
CodegenProperty cm = fromProperty("response", responseSchema, false);
|
CodegenProperty cm = fromProperty("response", responseSchema, false);
|
||||||
@ -4416,7 +4417,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
}
|
}
|
||||||
op.returnProperty = cm;
|
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());
|
ApiResponse methodResponse = findMethodResponse(operation.getResponses());
|
||||||
for (Map.Entry<String, ApiResponse> operationGetResponsesEntry : operation.getResponses().entrySet()) {
|
for (Map.Entry<String, ApiResponse> operationGetResponsesEntry : operation.getResponses().entrySet()) {
|
||||||
String key = operationGetResponsesEntry.getKey();
|
String key = operationGetResponsesEntry.getKey();
|
||||||
ApiResponse response = operationGetResponsesEntry.getValue();
|
ApiResponse response = ModelUtils.getReferencedApiResponse(openAPI, operationGetResponsesEntry.getValue());
|
||||||
addProducesInfo(response, op);
|
addProducesInfo(response, op);
|
||||||
CodegenResponse r = fromResponse(key, response);
|
CodegenResponse r = fromResponse(key, response);
|
||||||
Map<String, Header> headers = response.getHeaders();
|
Map<String, Header> headers = response.getHeaders();
|
||||||
@ -4552,9 +4553,10 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
List<Map<String, String>> examples = new ArrayList<>();
|
List<Map<String, String>> examples = new ArrayList<>();
|
||||||
|
|
||||||
for (String statusCode : operation.getResponses().keySet()) {
|
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));
|
Schema schema = unaliasSchema(ModelUtils.getSchemaFromResponse(openAPI, apiResponse));
|
||||||
if (schema == null) {
|
if (schema == null) {
|
||||||
|
// void response
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5142,7 +5144,7 @@ public class DefaultCodegen implements CodegenConfig {
|
|||||||
parameterModelName = getParameterDataType(parameter, parameterSchema);
|
parameterModelName = getParameterDataType(parameter, parameterSchema);
|
||||||
CodegenProperty prop;
|
CodegenProperty prop;
|
||||||
if (this instanceof RustServerCodegen) {
|
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
|
// $ref (e.g. #components/schemas/Pet) to determine whether it's a model
|
||||||
prop = fromProperty(parameter.getName(), parameterSchema, false);
|
prop = fromProperty(parameter.getName(), parameterSchema, false);
|
||||||
} else if (getUseInlineModelResolver()) {
|
} else if (getUseInlineModelResolver()) {
|
||||||
|
@ -587,7 +587,7 @@ public class K6ClientCodegen extends DefaultCodegen implements CodegenConfig {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (Map.Entry<String, ApiResponse> responseEntry : operation.getResponses().entrySet()) {
|
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 &&
|
if (r.baseType != null &&
|
||||||
!defaultIncludes.contains(r.baseType) &&
|
!defaultIncludes.contains(r.baseType) &&
|
||||||
!languageSpecificPrimitives.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
|
* @return true if should be hidden, false otherwise
|
||||||
*/
|
*/
|
||||||
private boolean shouldHideOperationResponse(ApiResponse resp) {
|
private boolean shouldHideOperationResponse(ApiResponse resp) {
|
||||||
|
resp = ModelUtils.getReferencedApiResponse(openAPI, resp);
|
||||||
boolean hideOperationResponse = false;
|
boolean hideOperationResponse = false;
|
||||||
|
|
||||||
if (Objects.nonNull(resp.getExtensions()) && !resp.getExtensions().isEmpty()
|
if (Objects.nonNull(resp.getExtensions()) && !resp.getExtensions().isEmpty()
|
||||||
|
@ -345,7 +345,7 @@ public class OCamlClientCodegen extends DefaultCodegen implements CodegenConfig
|
|||||||
if (operation.getResponses() != null) {
|
if (operation.getResponses() != null) {
|
||||||
for (Map.Entry<String, ApiResponse> operationGetResponsesEntry : operation.getResponses().entrySet()) {
|
for (Map.Entry<String, ApiResponse> operationGetResponsesEntry : operation.getResponses().entrySet()) {
|
||||||
String s = operationGetResponsesEntry.getKey();
|
String s = operationGetResponsesEntry.getKey();
|
||||||
ApiResponse apiResponse = operationGetResponsesEntry.getValue();
|
ApiResponse apiResponse = ModelUtils.getReferencedApiResponse(openAPI, operationGetResponsesEntry.getValue());
|
||||||
if (apiResponse.getContent() != null) {
|
if (apiResponse.getContent() != null) {
|
||||||
Content content = apiResponse.getContent();
|
Content content = apiResponse.getContent();
|
||||||
for (String p : content.keySet()) {
|
for (String p : content.keySet()) {
|
||||||
|
@ -475,6 +475,7 @@ public class RustAxumServerCodegen extends AbstractRustCodegen implements Codege
|
|||||||
} else {
|
} else {
|
||||||
original = operation.getResponses().get(rsp.code);
|
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
|
// 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")) {
|
if (!rsp.vendorExtensions.containsKey("x-response-id")) {
|
||||||
|
@ -656,6 +656,7 @@ public class RustServerCodegen extends AbstractRustCodegen implements CodegenCon
|
|||||||
} else {
|
} else {
|
||||||
original = operation.getResponses().get(rsp.code);
|
original = operation.getResponses().get(rsp.code);
|
||||||
}
|
}
|
||||||
|
original = ModelUtils.getReferencedApiResponse(openAPI, original);
|
||||||
String[] words = rsp.message.split("[^A-Za-z ]");
|
String[] words = rsp.message.split("[^A-Za-z ]");
|
||||||
|
|
||||||
// Create a unique responseID for this response.
|
// Create a unique responseID for this response.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user