code: Int!
message: String!
}
type OperationError {
errors: [Error!]!
}
type User {
name: ID!
email: String!
projects: [Project!]!
}
type Project {
name: ID!
display_name: String!
}
union UserResponse = User | OperationError
скажем, вот пример схемы для данного примера запроса, считаете ли вы правильным сделать некий ProjectResponse = Project | OperationError в данном случае или поступить иначе?
ещё есть случаи, когда нужно вернуть статус, либо какой-то скаляр. Можно сделать тип CustomResponse и в нем опционально поля и для ошибок, и для status, и для data.
затем union UserResponse = User | CustomResponse
Ваше допущение неверно, что ошибок в программном коде может быть много. Один throw Exception и привет резолверу. Так что советую поменять errors на error.
почему только одно?
Обсуждают сегодня