Sagen wir, ich bin versucht, ein Fahrrad als eine MutationUmgang mit Fehlern in Mutationen
var createBike = (wheelSize) => {
if (!factoryHasEnoughMetal(wheelSize)) {
return supplierError('Not enough metal');
}
return factoryBuild(wheelSize);
}
Was zu schaffen passiert, wenn für sie da glänzende Räder nicht genug Stahl ist? Wir werden wahrscheinlich einen Fehler für die Client-Seite benötigen. Wie erhalte ich, dass sie von meinem graphQL Server mit dem folgenden Mutation:
// Mutations
mutation: new graphql.GraphQLObjectType({
name: 'BikeMutation',
fields:() => ({
createBike: {
type: bikeType,
args: {
wheelSize: {
description: 'Wheel size',
type: new graphql.GraphQLNonNull(graphql.Int)
},
},
resolve: (_, args) => createBike(args.wheelSize)
}
})
})
Ist es so einfach wie einiger Fehlertypen Rückkehr, die der Server/I definiert hat?
Vielen Dank, dass Sie auf die Bibliothek graphql-errors zeigen. –
Haha, es ist so einfach! Danke für die klare Antwort und [graphql-errors] (https://github.com/kadirahq/graphql-errors) –
Ist die Norm, lokalisierte Nachrichten immer direkt aus der API zurückzugeben, anstatt Fehlerschlüssel, die den Client die Übersetzung als behandeln lassen es gefällt mir? – dSebastien