我想在另一个对象类型的响应中返回部分对象。
例如,我有一个UserProfile模型:
1004
和一个成人模特:
var id: Int?
var email: String
var firstName: String?
var lastName: String?
说我想只在“成人”回复中返回UserProfile的电子邮件地址,怎么办?
我尝试了一种处理孩子/父母关系的方法,其中我的成人模型更像:
var id: Int?
var nickname: String
var type: String
var user: User.UserProfile
var family: Family
..但是我的响应只包含一个对象ID,但我确实想返回部分(在某些情况下甚至是完整的)对象。
谢谢。
答案 0 :(得分:0)
完成此操作的方法是为模型创建一个“公共”定义,该定义将代表您从路线返回的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
并从您的路线中返回该模型。