我们正在使用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。另一个主题:
同样在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