我们正在使用SwaggerCodeGen https://swagger.io/自动生成代理。
这将减少手动键入数百个类。我们注意到所有模型类的属性都是Nullable吗?在SwaggerCodeGen中。
当他们写这篇文章时,是不是在某些成员需要时打破了接口(interface)契约?
SwaggerCodeGen这样做的原因是什么?在我们相同的C#对应类中,它们不可为空。

export interface Product{
    productId?: number;
    productName?: string;
    productType?: number;
    manufacturer?: string;
    inventory?: number;
当前将C#类转换为Angular Typescript 10。
javascript - Angular Typescript:Swagger CodeGen Generator使所有类属性都可为Null-LMLPHP
另一个主题:
同样在NSwag Studio中,
他们使用未定义的联合类型(而不是可为空)来进行此操作。这和Swagger CodeGen一样吗?
export interface Product {
    productId: number | undefined;
    productName?: string | undefined;
    productType?: number | undefined;
    manufacturer?: string | undefined;
    inventory?: number | undefined;

最佳答案

Swagger具有参数的“必需”属性。如果未将其设置为true,则代码生成器将使相应的参数可为空。
解决方法是自定义生成器(例如,类型映射)和 mustache 模板(例如,如果是原始类型,则删除对必需参数的检查)

definitions:
  Order:
    required:
      - id
      - petId
    properties:
      id:
        required: true
        type: integer
        format: int64
      petId:
        type: integer
        format: int64
      quantity:
        required: true
        type: integer
        format: int32

09-15 19:23