在Apollo文档中,它讨论了如何使用“变异响应类型”,您将在其中返回一个响应,其中包含code
,success
,message
的键以及特定数据的键那是改变。即用户。
示例:
interface MutationResponse {
code: String!
success: Boolean!
message: String!
}
type UpdateUserMutationResponse implements MutationResponse {
code: String!
success: Boolean!
message: String!
user: User
}
我们已经使用这种方法已有一段时间了。我们还对查询采用了这种方法,并且每个查询都有一个查询响应类型。
例如,如果找不到用户,则响应将适当的详细信息返回给客户端。
从我们的微服务向管道发送错误到客户端使事情变得更加混乱并且难以推理。我们已经开始重新设计我们的API之一以不使用查询响应类型,并且处理错误等已经变得更加复杂。
所以我的问题是,除了变异响应类型之外,使用查询响应类型还会带来什么负面影响?我们无法决定是否应替换查询响应类型还是将其保留。