Go 一个模型用于POST和GET,使用不同的;“必需”;领域
我使用Go 一个模型用于POST和GET,使用不同的;“必需”;领域,go,swagger,openapi,go-swagger,Go,Swagger,Openapi,Go Swagger,我使用大摇大摆。我有这样的模型: // Pet pet // swagger:model type Pet struct { // id ID int64 `json:"id,omitempty"` // name // Required: true Name *string `json:"name"` } 例如,在myPOST字段中,Name必须是必需的,但对于GET则不是。所以,如果我不想创建类似的模型,而不需要进行必要的修改,我应该如何添加它呢?因
大摇大摆
。我有这样的模型:
// Pet pet
// swagger:model
type Pet struct {
// id
ID int64 `json:"id,omitempty"`
// name
// Required: true
Name *string `json:"name"`
}
例如,在myPOST字段中,
Name
必须是必需的,但对于GET则不是。所以,如果我不想创建类似的模型,而不需要进行必要的修改,我应该如何添加它呢?因为现在我唯一的想法是创建类型PetGET struct
和类型PetPOST struct
,我想这是一个愚蠢的想法。如果您是从代码生成规范,那么拥有PetGET和PetPOST并不是一个愚蠢的想法。通常,程序模型与API模型不匹配,您必须重复定义才能正确生成规范。因此,这里有几个选项:
您可以简单地将字段标记为required:false
,并在GET处理程序中处理它
如果您是从代码生成规范,则可以创建与程序模型分离的仅限招摇过市的模型,对于这种情况,可以创建两个具有不同注释的模型。如果现在我只想
默认值用于PUT,则必须创建另一个模型?如果您希望模型中的精度达到该级别,则可以。或者,使用GET的模型,并定义PUT/POST的内联主体,而不使用单独的模型结构。