gpt4 book ai didi

swift - 返回 Vapor 3 中的部分对象

转载 作者:行者123 更新时间:2023-11-30 10:48:18 25 4
gpt4 key购买 nike

我想在另一种对象类型的响应中返回部分对象。

例如,我有一个 UserProfile 模型:

  var id: Int?
var email: String
var firstName: String?
var lastName: String?

和成人模特:

  var id: Int?
var nickname: String
var type: String
var user: User.UserProfile
var family: Family

假设我只想在成人响应中返回用户个人资料的电子邮件地址,该怎么做?

我尝试了一种处理 child / parent 关系的方法,我的成人模型更像是:

  var id: Int?
var nickname: String
var type: String
var user: User.ID
var family: Family

..但是我的响应只包含一个对象 ID,但我真的想返回部分(甚至在某些情况下完整)对象。

提前致谢。

最佳答案

完成此操作的方法是创建模型的“公共(public)”定义,它将表示您从路由返回的 JSON。

对于您的模型,您可以创建如下结构:

struct AdultResponse: Content {
var id: Int?
var nickname: String
var type: String
var email: String
var family: Family

init(adult: Adult) {
self.id = adult.id
self.nickname = adult.nickname
self.type = adult.type
self.email = adult.user.email
self.family = adult.family
}
}

然后,您可以从数据库获取 Adult 模型,创建 AdultResponse 并从您的路线返回该模型。

关于swift - 返回 Vapor 3 中的部分对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55308735/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com