openapi typescript-fetch genererar icke-nullbara typer som nullbara
I princip alla mina DTO:er genereras med nulllbara fält som: id?: number;. Hur kan jag skapa icke-nulllbara typer för typer som inte är markerade som nulllbara.
Mitt DTO-schema ser ut så här:
"UserDTO": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"nullable": true
},
"lastName": {
"type": "string",
"nullable": true
},
"id": {
"type": "integer",
"format": "int32"
}
}
Jag genererar koden så här: openapi-generator generate --additional-properties=prefixParameterInterfaces=true,typescriptThreePlus=true --remove-operation-id-prefix -i libs/services/defs/swagger.json -g typescript-fetch -o libs/services/src/api
Svar #1
Lägger till detta till äldre fråga eftersom jag var tvungen att spendera mycket tid på att undersöka detta. Tyvärr ignorerar OpenAPI TypeScript-generatorn egenskapen 'nullable' för svarmodellen och använder istället listan 'required'.
För att generera modellgränssnitt med icke-nullbara egenskaper måste du lista egenskaperna som obligatoriska.
I det ovanstående fallet bör det vara:
"UserDTO": {
"type": "object",
"required": [
"id"
],
"properties": {
"firstName": {
"type": "string",
"nullable": true
},
"lastName": {
"type": "string",
"nullable": true
},
"id": {
"type": "integer",
"format": "int32"
}
}
Svar #2
Lägg till [Required]-databeteckningen
