В документации Apollo говорится об использовании Mutation Response Types, где вы бы возвращали ответ, который содержал ключи для code
, success
, message
, а также ключи для конкретных данных, которые были изменены.т.е. пользователь.
ПРИМЕР :
interface MutationResponse {
code: String!
success: Boolean!
message: String!
}
type UpdateUserMutationResponse implements MutationResponse {
code: String!
success: Boolean!
message: String!
user: User
}
Мы уже использовали этот подход в течение некоторого времени.Мы также приняли этот подход для наших запросов и у нас есть тип ответа на запрос для каждого запроса.
Если пользователь не может быть найден, например, ответ возвращает соответствующие детали клиенту.
Сброс ошибок от наших микросервисов по трубе к клиенту делает вещи более беспорядочными и трудными для рассуждения.Мы начали переделывать один из наших API, чтобы он не использовал типы ответов на запросы, а обработка ошибок и т. Д. Стала намного более сложной.в дополнение к типам ответов мутации?Мы не можем решить, следует ли нам заменить типы ответа на запрос или оставить их.