我使用go-swagger
。我有像这样的模型:
// Pet pet
// swagger:model
type Pet struct {
// id
ID int64 `json:"id,omitempty"`
// name
// Required: true
Name *string `json:"name"`
}
例如在我的 POST 字段中
Name
必须是必需,但对于则不是GET 。因此,如果我不想在不需要的情况下创建类似模型,该如何添加呢?因为现在我唯一的想法是创建type PetGET struct
和type PetPOST struct
,我想这是愚蠢的主意。
最佳答案
如果您是从代码生成规范,那么拥有PetGET和PetPOST并不是一个愚蠢的主意。通常,程序模型与API模型不匹配,并且您仅需要重复定义就可以生成规范权限。因此,您在这里有两个选择:
您只需标记字段required: false
,然后在GET处理程序中对其进行处理。
如果要从代码生成规范,则可以创建与程序模型分开的仅招摇模型,并在这种情况下,创建两个带有不同注释的模型。
关于go - 具有不同“必填”字段的POST和GET模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59165057/