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

Relaterade artiklar