Ich verwende npm nswag, um eine TypeScript-Datei aus einer Swagger-JSON-Datei mit dem swaggerToTypeScriptClient-Codegenerator zu generieren.Verwenden von npm nswag zum Generieren von TypeScript-Dateien aus Swagger .json-Dateien mit OData-Werten
Es gibt ein Problem, wenn es OData Eigenschaften in JSON enthalten ist. Beim Generieren der Schnittstelle gibt das TypeScript einen Fehler aus, da das '@' im OData-Eigenschaftswert nicht erkannt wird.
Dies ist ein Beispiel des ursprünglichen Swagger .json:
"Swashbuckle.OData.ODataResponse[System.Collections.Generic.List[Shadow.DataLayer.ReleaseBatchs]]": {
"type": "object",
"properties": {
"@odata.context": {
"type": "string"
},
"value": {
"type": "array",
"items": {
"$ref": "#/definitions/Shadow.DataLayer.ReleaseBatchs"
}
}
}
}
Dies ist die entsprechende Maschinenschrift durch die nswag swaggerToTypeScriptClient generiert:
export interface ReleaseBatchs {
@odata.context?: string | undefined;
value?: ReleaseBatchs2[] | undefined;
}
Dies wirft einen Fehler, weil er nicht die nicht mag '@' in der Eigenschaft.
Es würde funktionieren, wenn der generierte Code die Eigenschaft in Anführungszeichen, wie diese eingewickelt:
export interface ReleaseBatchs {
"@odata.context"?: string | undefined;
value?: ReleaseBatchs2[] | undefined;
}
eine Möglichkeit, den swaggerToTypeScriptClient kennen zu wickeln diese Eigenschaften in Anführungszeichen Gibt es? Oder um es mit OData-Werten kompatibel zu machen?
Wir haben dies hier fest zu beheben: https://github.com/RSuter/NJsonSchema/blob/master/src/NJsonSchema.CodeGeneration.TypeScript/Models/PropertyModel .cs # L38 erkundige dich bald ... –
OK. Danke dafür. Ich habe eine Pull-Anfrage erstellt. – Paul