Post/Patch/Delete Paths not generated for type casts
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 54/100
Rechercherichtung
Beginnen Sie mit src/Microsoft.OpenApi.OData.Reader/PathItem/ODataTypeCastPathItemHandler.cs, insbesondere mit der in diesem Issue referenzierten Behandlung von Type-Cast-Pfaden. Reproduzieren Sie den Fall mit der Basisklasse A, der abgeleiteten Klasse B und RequireDerivedTypesConstraintForODataTypeCastSegments auf false gesetzt. Abgeschlossen ist die Aufgabe, wenn die generierten Pfade für den Cast-Typ neben GET auch POST, PATCH und DELETE enthalten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
When generating an OpenAPI specification of the OData model, it does not generate the post/patch/delete paths for the type cast entities. In my example (see below) CreateJiraIssue is derived from Widget. But it does not generate the paths for post/patch/delete
OData supports post/patch/delete for the cast types! It works when you do an patch request to the correct url. It is also described here:
https://learn.microsoft.com/en-us/odata/webapi-8/fundamentals/entity-routing?tabs=net60%2Cvisual-studio
Assemblies affected
Microsoft.OpenApi.OData (1.6.3)
Steps to reproduce
Create a class A and a derived class B. Add class A as entity set to the odata model.
In the converter settings you need to set RequireDerivedTypesConstraintForODataTypeCastSegments to false.
Expected result
The post/patch/delete paths would be generated for all derived (cast) types.
Actual result
Only the get paths are generated for derived (class) types.
Additional detail
I looked into the code and I have an idea where this is coming from.
The ODataTypeCastPathItemHandler will be used for the path (because of the type cast kind). And there only the Get operation will be set:
- Vorherrschende Sprache
- C#
- Sterne
- 240
- Forks
- 70
- Ø Merge
- 2 Std. 8 Min.
- Gemergte PRs (30 T.)
- 9
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus microsoft/OpenAPI.NET.OData
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
microsoft/OpenAPI.NET.OData#661 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 58/100
microsoft/OpenAPI.NET.OData#852 · 1 Kommentar · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
microsoft/OpenAPI.NET.OData#833 ·
Maintainer antworten meist innerhalb von 1 Tag
-
status:needs-more-information
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 42/100
microsoft/OpenAPI.NET.OData#723 · 1 Kommentar · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
Action bound to abstract entity type is not present in OpenAPI output when using hidi to convert from CSDLEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 45/100
microsoft/OpenAPI.NET.OData#720 ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in microsoft/OpenAPI.NET.OData
Ähnliche Issues
-
[C#]:主页联网更新的提示投稿横幅指向错误Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
PCL-Community/PCL-CE#3652 ·
Maintainer antworten meist innerhalb von 1 Tag