Diciamo che sto cercando di creare una moto come una mutazioneGestione degli errori in mutazioni
var createBike = (wheelSize) => {
if (!factoryHasEnoughMetal(wheelSize)) {
return supplierError('Not enough metal');
}
return factoryBuild(wheelSize);
}
Cosa succede quando non c'è abbastanza acciaio per loro ruote lucenti? Probabilmente avremo bisogno di un errore per il lato client. Come faccio a ottenere che a loro dal mio assistente graphQL con il seguito di mutazione:
// 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)
}
})
})
E 'semplice come tornare un tipo di errore che il server/ho definito?
Grazie per aver scelto la libreria di errori graphql. –
Haha, è così semplice! Grazie per la risposta chiara e [graphql-errors] (https://github.com/kadirahq/graphql-errors) –
La norma restituisce sempre i messaggi localizzati direttamente dall'API piuttosto che le chiavi di errore che consentono al client di gestire la traduzione come fa piacere? – dSebastien