2017-06-28 2 views
1

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?

+0

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 ... –

+0

OK. Danke dafür. Ich habe eine Pull-Anfrage erstellt. – Paul

Antwort

0

Dies hat in NSwag V11.3

Verwandte Themen