go - 一种具有不同“必填”字段的 POST 和 GET 模型
问题描述
我用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 处理程序中处理它。
如果您从代码生成规范,则可以创建与程序模型分开的仅 swagger 模型,对于这种情况,请创建两个具有不同注释的模型。
推荐阅读
- drools - Drools - Kie Spring 集成 - 接口
- php - 带有浮点数的for循环中的PHP if条件
- c - 为什么我的函数中的数据没有传回 Main?
- angular - Angular CDK 拖动和复制行为问题
- javascript - 数字之间的Reactjs css空白
- scala - 在 Scala 中有没有办法拥有“ad-hoc”ADT?
- html - 我的 style.css 文件不适用于 html,当我保存文件时它显示记事本 + 设置
- python-3.x - 如何在 PyTorch 中嵌入一行标志(不是 nn.Embedding)?
- google-cloud-endpoints - 上次部署的 API 和实际使用的 API 之间似乎不匹配
- javascript - 将标题复制到剪贴板 HTML/JS