#19615: supported request schema field in case response field not present in OpenAPI lineage (#19885)

* supported request schema field in case response field not present in OpenAPI lineage

* fix backend validation

---------

Co-authored-by: ulixius9 <mayursingal9@gmail.com>
(cherry picked from commit b48d9b9c9740158a5cc6ad4ee58339f0f196117f)
This commit is contained in:
Ashish Gupta 2025-03-10 17:47:37 +05:30 committed by OpenMetadata Release Bot
parent 27b98efd6d
commit 555f59ab88
2 changed files with 13 additions and 3 deletions

View File

@ -600,8 +600,15 @@ public class LineageRepository {
case API_ENDPOINT -> {
APIEndpoint apiEndpoint =
Entity.getEntity(
API_ENDPOINT, entityReference.getId(), "responseSchema", Include.NON_DELETED);
ColumnUtil.validateFieldFQN(apiEndpoint.getResponseSchema().getSchemaFields(), columnFQN);
API_ENDPOINT,
entityReference.getId(),
"responseSchema,requestSchema",
Include.NON_DELETED);
if (apiEndpoint.getResponseSchema() != null) {
ColumnUtil.validateFieldFQN(apiEndpoint.getResponseSchema().getSchemaFields(), columnFQN);
} else {
ColumnUtil.validateFieldFQN(apiEndpoint.getRequestSchema().getSchemaFields(), columnFQN);
}
}
case METRIC -> {
LOG.info("Metric column level lineage is not supported");

View File

@ -649,7 +649,10 @@ export const getEntityChildrenAndLabel = (
label: t('label.field-plural'),
},
[EntityType.API_ENDPOINT]: {
data: (node as APIEndpoint)?.responseSchema?.schemaFields ?? [],
data:
(node as APIEndpoint)?.responseSchema?.schemaFields ??
(node as APIEndpoint)?.requestSchema?.schemaFields ??
[],
label: t('label.field-plural'),
},
[EntityType.SEARCH_INDEX]: {