Azure / Azure/azure-sdk-tools

Handle Model Composition in Swagger Parser

Open
#6,487 0 comments 0 reactions 0 assignees View on GitHub
APIView Central-EngSys Swagger
Dominant language
C#
Stars
135
Forks
260
Avg merge
1d 22h
Merged PRs (30d)
115

Description

Swagger 2.0 uses allOf property to handle model composition.
e.g
[BillingSubscription](https://github.com/Azure/azure-rest-api-specs-pr/blob/53dffd5cd0a04e5ca44622a8bd84b2ce762bb578/specification/billing/resource-manager/Microsoft.Billing/preview/2022-10-01-privatepreview/billingSubscription.json#L1476C1-L1481C58) is a [ArmResource](https://github.com/Azure/azure-rest-api-specs-pr/blob/53dffd5cd0a04e5ca44622a8bd84b2ce762bb578/specification/billing/resource-manager/Microsoft.Billing/preview/2022-10-01-privatepreview/types.json#L189C1-L194C106) which in turn is a [Resource](https://github.com/Azure/azure-rest-api-specs-pr/blob/53dffd5cd0a04e5ca44622a8bd84b2ce762bb578/specification/common-types/resource-management/v3/types.json#L9C5-L9C8)

APIView should have a way of showing that relationship.

Contributor guide

Open the contributing guide

Research direction

Start by examining the Swagger 2.0 allOf examples linked in the issue, including BillingSubscription, ArmResource, and Resource, and trace how APIView currently parses or displays model relationships. The work is complete when APIView visibly represents the composition chain described by those schemas; the issue does not name implementation files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
openapi
Domain
api, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.