Add dedicated OData API support (extract & publish)
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- azure, typescript
Direzione di ricerca
Inizia da api-extractor.ts, api-publisher.ts e apim-client.ts, seguendo la gestione esistente di apiType e i percorsi di getExportFormat()/getImportFormat(). Controlla la documentazione dei formati API di APIM o il comportamento esistente del client per confermare i formati di esportazione e importazione OData/CSDL. Il lavoro è completato quando i set di entità e le funzioni OData vengono mantenuti durante l’estrazione e la pubblicazione, con test unitari o di integrazione che coprano entrambi i flussi.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
apiops-cli currently handles OData APIs via the generic OpenAPI fallback path, which does not capture OData-specific artifacts. This issue tracks adding first-class OData support to both the extractor and publisher.
Background
Azure API Management added OData API support, but tooling across the ecosystem has lagged behind (see Azure/apiops#419). Users report that entity sets and functions are lost when extracting/publishing OData APIs.
Current behavior
- Extractor (
api-extractor.ts): No special-case handling forodataAPI type — it falls through to the genericopenapi-linkexport, which misses OData-specific resources. - Publisher (
api-publisher.ts): Recognizesodataas a validapiTypestring but has no OData-specific import format or schema handling. - APIM Client (
apim-client.ts):getExportFormat()returns'openapi-link'for OData via thedefaultcase — no dedicated export format.
What needs to change
- Extract: Add OData-specific handling in
api-extractor.tsto export CSDL schemas, entity sets, and functions via the appropriate APIM export format. - APIM Client: Add an
'odata'case togetExportFormat()returning the correct APIM export format for OData APIs (investigate whether APIM supports a dedicated OData/CSDL export link). - Publish: Add OData-specific import format handling in
getImportFormat()so that CSDL schemas and entity sets are correctly imported on publish. - Tests: Add unit/integration tests covering OData extract and publish flows.
Related
- Azure/apiops#419 — original feature request in the apiops toolkit repo
- Lingua principale
- TypeScript
- Stelle
- 29
- Fork
- 10
- Merge medio
- 1g 14h
- PR unite (30g)
- 22
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Azure/apiops-cli
-
type:question
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Azure/apiops-cli#277 ·
-
type:documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 94/100
Azure/apiops-cli#250 ·
-
Documentation P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Azure/apiops-cli#24 · 1 commento ·
-
type:bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
Azure/apiops-cli#291 ·
-
type:bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
Azure/apiops-cli#276 ·
Tutte le issue di Azure/apiops-cli
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Apertabug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
calcite-components needs triage refactor
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Esri/calcite-design-system#15203 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
danielmiessler/LifeOS#2218 ·