我是Swagger的新手,并打开了api。我正在尝试为对象创建模型(让我们说“包”对象)。
对于POST方法,我没有定义'id'参数,因为我希望后端系统为正在创建的程序包分配新的UUID。
{
"name": "My Beautiful Package",
"channel": 0,
"status": 0,
"visibility": true
}
但是,对于GET方法,响应中包含id(UUID)。
{
"id" : "afefeffbd-384fe3",
"name": "My Beautiful Package",
"channel": 0,
"status": 0,
"visibility": true,
"createdOn": "2018-Sep-08",
"createdBy"" 2234
}
所以,我的问题是..
我应该创建两个模型,一个用于POST方法,一个用于GET方法吗?
如果我将“ id”字段定义为可选字段,则它可能仍会在api中显示为可选参数之一。这个我不想要。
此外,对GET程序包的响应还会返回更多数据,例如“创建日期”,“创建者”等。该如何处理?
感谢任何人对此进行澄清。
答案 0 :(得分:0)
打字稿i <3打字稿中的一些示例代码
会有一个类(模型)可以使用Input处理,另一类可以处理输出。
export class UserInput{
username:string,
password:string,
email:String
}
export class UserData extends UserInput{
id or _id : string
}
export class UserOutput{
users : UserData[]
}
这是什么意思: 发出发布请求时,请使用userInput模型 当您使用获取请求来获取用户/用户列表时,您将使用userOutput模型
“创建日期”,“创建者”等字段/列将自动由您的数据模型处理。